Wie die <webview> methods in Electron
Auf das Elektron <webview>
Dokumentation es gibt eine Liste von Methoden, die Sie verwenden können, mit dem Objekt. Wenn ich versuche zu laufen, keine Methoden, keine davon funktioniert. Wenn ich sah in inpect die Eigenschaften der <webview>
element im Inspektor, er sagt, dass sein Prototyp ist webview
. (__proto__ : webview
)
Ist es in diesem Prototyp, in dem alle Methoden gespeichert werden. Also mein element sollte im Grunde nur Erben die Methoden von Ihrem Prototyp, wenn ich diese Methoden (z.B. myWebview.openDevTools()
).
Jedoch! wenn ich Object.getProptotypeOf(myWebview)
bekomme ich HTMLElement
, NICHT webview
wie es zeigt Sie im "Inspektor".
Hier ein Beispiel von meinem code:
<webview id="myWebview" src="path/to.file"></webview>
<script>
var myWebview = document.getElementById('myWebview');
console.log("myWebview: ",myWebview);
console.log("prototype: ",Object.getPrototypeOf(myWebview)); //=> HTMLElement
myWebview.openDevTools();
</script>
InformationsquelleAutor Sam Eaton | 2015-06-10
Du musst angemeldet sein, um einen Kommentar abzugeben.
Entdeckte ich die Frage und fügte ein Beispiel an den Elektron-Dokumentation
Die Quintessenz ist, dass Sie brauchen, um einen listener hinzufügen, um die webview, die überwacht, wenn die webview-element ist fertig:
Laut @Shwany, die webview - Methoden verfügbar sind, wenn die
did-start-loading
- Ereignis ausgelöst wird, jedoch kann es besser sein, die Praxis zu warten, bis die webview-element ist komplett fertig, mitdom-ready
Für eine ausführlichere Erklärung:
Wenn das Fenster zunächst das rendering der DOM, die webview-Methoden nicht verfügbar. Zunächst ist der Prototyp für die
<webview>
element ist immer noch das generischeHTMLElement
.Als nach der Seite macht, dass die
<webview>
element beginnt laden und dann seinen Prototyp geändert wird, um die webview-Prototyp (der gleiche name wie das element). Und wenn es erhält Zugriff auf die webview Prototyp, es erhält Zugriff auf alle webview-Prototyp-Methoden.InformationsquelleAutor Sam Eaton
In der Dokumentation für die webview sagt:
Keying aus dieser Ahnung, ich war in der Lage zu nennen openDevTools auf die webview, mit den folgenden code:
Ich nehme an, die Methoden werden nicht angewandt, um die webview sofort. Ich habe versucht, Zugriff auf Dokument.readystate == "complete", aber Sie waren immer noch nicht verfügbar. Hoffentlich verbindlich zu der oben genannten Veranstaltung erhalten Sie die Funktionalität, die Sie benötigen.
Entschuldigt meine newbie Unwissenheit, aber die
<script>
- tags machen es so Aussehen wie dieses muss werden in der.html
- Datei. Kann es nicht werden in der.js
Datei, und wenn ja, wo?Es kann eingebettet werden, in den script-tags, wie in meinem Beispiel, oder in einer .js-Datei, die dann auf die mit der src-Attributs für ein script-tag. Das heißt, diese können Leben, wo JavasSript Leben können in einer Webseite. Lassen Sie mich wissen, ob das hilft, oder ob ich es eine weitere Klärung.
InformationsquelleAutor Shawn Rakowski