Objekt eingebautes Objekt

Objekt WebView

Browserfensterobjekt

WebView ist eine in den Browser eingebettete Fensterkomponente, unterstützt derzeit nur Windows, macOS (10.10+) Verwenden Sie den IE/Edge-Kernel in Windows, verwenden Sie WKWebView in macOS.

Da sich das JavaScript-Programm in WebView und fibjs nicht in derselben Engine befinden, müssen Sie Nachrichten verwenden, wenn Sie mit dem Hostprogramm kommunizieren müssen.

Das von WebView für die Kommunikation verwendete Objekt ist extern, das eine Methode postMessage und zwei Ereignisse onmessage und onclose unterstützt.

Ein einfacher Kommunikationsbeispielcode lautet wie folgt:

1 2 3 4 5 6 7 8 9
// index.js var gui = require('gui'); var webview = gui.open('fs://index.html'); webview.onmessage = msg => console.log(msg); webview.onload = evt => webview.postMessage("hello from fibjs"); webview.wait();

Der Inhalt von index.html ist wie folgt:

1 2 3 4 5 6 7 8
<script> external.onclose = function() { } external.onmessage = function(msg){ external.postMessage("send back: " + msg); }; </script>

Bevor das Benutzerfenster geschlossen wird, wird das Ereignis external.onclose ausgelöst und external.onclose kann entscheiden, ob es geschlossen wird. Wenn external.onclose false zurückgibt, wird die Operation abgebrochen, andernfalls wird das Fenster geschlossen.

Das folgende Beispiel wartet 5 Sekunden, nachdem der Benutzer zum Schließen geklickt hat, und schließt dann das Fenster.

1 2 3 4 5 6 7 8 9 10 11 12
<script lang="JavaScript"> var bClose = false; external.onclose = function () { if (!bClose) { setTimeout(function () { bClose = true; window.close(); }, 5000); return false; } } </script>

Da window.close selbst auch das Ereignis onclose auslöst, muss im obigen Code eine Switch-Variable hinzugefügt werden, um zu erkennen, ob das Ereignis verarbeitet werden muss.

Erbe

#lineWidth: 1.5 #font: Helvetica,sans-Serif #fontSize: 10 #leading: 1.6 #.this: fill=lightgray #.class: fill=white [<class>object|toString();toJSON()] [<class>EventEmitter|new EventEmitter()|EventEmitter|defaultMaxListeners|on();addListener();prependListener();once();prependOnceListener();off();removeListener();removeAllListeners();setMaxListeners();getMaxListeners();listeners();listenerCount();eventNames();emit()] [<this>WebView|type;dev;onopen;onload;onaddress;ontitle;onmove;onresize;onclosed;onmessage|loadUrl();getUrl();setHtml();reload();goBack();goForward();print();printToPDF();executeJavaScript();executeDevToolsMethod();close();postMessage()] [object] <:- [EventEmitter] [EventEmitter] <:- [WebView] EventEmitter new EventEmitter() EventEmitter defaultMaxListeners on() addListener() prependListener() once() prependOnceListener() off() removeListener() removeAllListeners() setMaxListeners() getMaxListeners() listeners() listenerCount() eventNames() emit() WebView type dev onopen onload onaddress ontitle onmove onresize onclosed onmessage loadUrl() getUrl() setHtml() reload() goBack() goForward() print() printToPDF() executeJavaScript() executeDevToolsMethod() close() postMessage() object toString() toJSON()

Statische Eigenschaften

defaultMaxListeners

Integer, die standardmäßige globale maximale Anzahl von Listenern

1
static Integer WebView.defaultMaxListeners;

Mitgliedsattribute

type

String, die WebView-Engine des aktuellen Fensters

1
readonly String WebView.type;

dev

Wert, DevTools-Zugriffsobjekt, siehe aufrufende Schnittstelle: https://chromedevtools.github.io/devtools-protocol/

1
readonly Value WebView.dev;

onopen

Funktions-, Abfrage- und Bindungsladeerfolgsereignis, äquivalent zu on("open", func);

1
Function WebView.onopen;

onload

Funktions-, Abfrage- und Bindungsladeerfolgsereignis, äquivalent zu on("load", func);

1
Function WebView.onload;

onaddress

Funktion, Abfrage und Bindung des Seitenadressenänderungsereignisses, äquivalent zu on("address", func);

1
Function WebView.onaddress;

ontitle

Funktion, Abfrage und Bindung des Seitentiteländerungsereignisses, äquivalent zu on("title", func);

1
Function WebView.ontitle;

onmove

Funktion, Abfrage und Bindung von Fensterbewegungsereignissen, äquivalent zu on("move", func);

1
Function WebView.onmove;

Das folgende Beispiel gibt die Koordinaten der oberen linken Ecke des Fensters aus, wenn das Fenster verschoben wird:

1 2 3 4
var gui = require('gui'); var webview = gui.open('fs://index.html'); webview.onmove = evt => console.log(evt.left, evt.top);

onresize

Funktions-, Abfrage- und Bindungsfenstergrößenänderungsereignis, äquivalent zu on("size", func);

1
Function WebView.onresize;

Das folgende Beispiel gibt die Größe des Fensters aus, wenn die Fenstergröße geändert wird:

1 2 3 4
var gui = require('gui'); var webview = gui.open('fs://index.html'); webview.onresize = evt => console.log(evt.width, evt.height);

onclosed

Funktions-, Abfrage- und Bindefenster-Schließereignis, diese Zeit wird ausgelöst, nachdem WebView geschlossen wurde, was äquivalent zu on("closed", func);

1
Function WebView.onclosed;

onmessage

Funktion, Abfrage und Bindung zum Akzeptieren des postMessage-Ereignisses in der Webansicht, äquivalent zu on("message", func);

1
Function WebView.onmessage;

Mitgliederfunktion

loadUrl

Last angegeben url Seite von

1
WebView.loadUrl(String url) async;

Aufrufparameter:

  • url: String, angegeben url

getUrl

Abfrage der aktuellen Seite url

1
String WebView.getUrl() async;

Ergebnis zurückgeben:

  • String, Zurück zur aktuellen Seite url

setHtml

Stellen Sie den Seiten-HTML von Webview ein

1
WebView.setHtml(String html) async;

Aufrufparameter:

  • html: String, html setzen

reload

Aktualisieren Sie die aktuelle Seite

1
WebView.reload() async;

goBack

zurück zur vorherigen Seite

1
WebView.goBack() async;

goForward

Weiter zur nächsten Seite

1
WebView.goForward() async;

print

Drucken Sie das aktuelle Fensterdokument

1
WebView.print(Integer mode = 1) async;

Aufrufparameter:

  • mode: Integer, Druckparameter, 0: Schnelldruck; 1: Standarddruck; 2: Druckvorschau. Standard ist 1

printToPDF

Drucken Sie das aktuelle Fensterdokument in eine PDF-Datei

1
WebView.printToPDF(String file) async;

Aufrufparameter:

  • file: String, geben Sie den PDF-Pfad an

executeJavaScript

Führen Sie ein Stück JavaScript-Code im aktuellen Fenster aus

1
WebView.executeJavaScript(String code) async;

Aufrufparameter:

  • code: String, geben Sie den auszuführenden JavaScript-Code an

executeDevToolsMethod

Führen Sie den DevTools-Befehl im aktuellen Fenster aus und geben Sie das Ergebnis zurück

1 2
Variant WebView.executeDevToolsMethod(String method, Object params = {}) async;

Aufrufparameter:

  • method: String, geben Sie den auszuführenden DevTools-Befehl an
  • params: Objekt, spezifizieren Sie die Parameter des Befehls

Ergebnis zurückgeben:

  • Variant, Ergebnis der Ausführung zurückgeben

close

Schließen Sie das aktuelle Fenster

1
WebView.close() async;

postMessage

Senden Sie eine Nachricht an die Webansicht

1
WebView.postMessage(String msg) async;

Aufrufparameter:

  • msg: String, die zu versendende Nachricht

    postMessage muss eine Nachricht senden, nachdem das Fenster geladen wurde, Nachrichten, die zuvor gesendet wurden, gehen verloren. Daher wird empfohlen, diese Methode aufzurufen, nachdem das onload-Ereignis ausgelöst wurde.


on

Binden Sie einen Ereignishandler an das Objekt the

1 2
Object WebView.on(String ev, Function func);

Aufrufparameter:

  • ev: String, geben Sie den Namen des Ereignisses an
  • func: Funktion, Ereignisverarbeitungsfunktion angeben

Ergebnis zurückgeben:

  • Object, Geben Sie das Ereignisobjekt selbst zurück, was für Kettenaufrufe praktisch ist

Binden Sie einen Ereignishandler an das Objekt the

1
Object WebView.on(Object map);

Aufrufparameter:

  • map: Objekt, geben Sie die Ereigniszuordnungsbeziehung an, der Name der Objekteigenschaft wird als Ereignisname verwendet und der Eigenschaftswert wird als Ereignisverarbeitungsfunktion verwendet

Ergebnis zurückgeben:

  • Object, Geben Sie das Ereignisobjekt selbst zurück, was für Kettenaufrufe praktisch ist

addListener

Binden Sie einen Ereignishandler an das Objekt the

1 2
Object WebView.addListener(String ev, Function func);

Aufrufparameter:

  • ev: String, geben Sie den Namen des Ereignisses an
  • func: Funktion, Ereignisverarbeitungsfunktion angeben

Ergebnis zurückgeben:

  • Object, Geben Sie das Ereignisobjekt selbst zurück, was für Kettenaufrufe praktisch ist

Binden Sie einen Ereignishandler an das Objekt the

1
Object WebView.addListener(Object map);

Aufrufparameter:

  • map: Objekt, geben Sie die Ereigniszuordnungsbeziehung an, der Name der Objekteigenschaft wird als Ereignisname verwendet und der Eigenschaftswert wird als Ereignisverarbeitungsfunktion verwendet

Ergebnis zurückgeben:

  • Object, Geben Sie das Ereignisobjekt selbst zurück, was für Kettenaufrufe praktisch ist

prependListener

Binden Sie einen Ereignishandler an den Anfang des Objekts

1 2
Object WebView.prependListener(String ev, Function func);

Aufrufparameter:

  • ev: String, geben Sie den Namen des Ereignisses an
  • func: Funktion, Ereignisverarbeitungsfunktion angeben

Ergebnis zurückgeben:

  • Object, Geben Sie das Ereignisobjekt selbst zurück, was für Kettenaufrufe praktisch ist

Binden Sie einen Ereignishandler an den Anfang des Objekts

1
Object WebView.prependListener(Object map);

Aufrufparameter:

  • map: Objekt, geben Sie die Ereigniszuordnungsbeziehung an, der Name der Objekteigenschaft wird als Ereignisname verwendet und der Eigenschaftswert wird als Ereignisverarbeitungsfunktion verwendet

Ergebnis zurückgeben:

  • Object, Geben Sie das Ereignisobjekt selbst zurück, was für Kettenaufrufe praktisch ist

once

Binden Sie eine einmalige Ereignisverarbeitungsfunktion an das Objekt, die einmalige Verarbeitungsfunktion wird nur einmal ausgelöst

1 2
Object WebView.once(String ev, Function func);

Aufrufparameter:

  • ev: String, geben Sie den Namen des Ereignisses an
  • func: Funktion, Ereignisverarbeitungsfunktion angeben

Ergebnis zurückgeben:

  • Object, Geben Sie das Ereignisobjekt selbst zurück, was für Kettenaufrufe praktisch ist

Binden Sie eine einmalige Ereignisverarbeitungsfunktion an das Objekt, die einmalige Verarbeitungsfunktion wird nur einmal ausgelöst

1
Object WebView.once(Object map);

Aufrufparameter:

  • map: Objekt, geben Sie die Ereigniszuordnungsbeziehung an, der Name der Objekteigenschaft wird als Ereignisname verwendet und der Eigenschaftswert wird als Ereignisverarbeitungsfunktion verwendet

Ergebnis zurückgeben:

  • Object, Geben Sie das Ereignisobjekt selbst zurück, was für Kettenaufrufe praktisch ist

prependOnceListener

Binden Sie einen Ereignishandler an den Anfang des Objekts

1 2
Object WebView.prependOnceListener(String ev, Function func);

Aufrufparameter:

  • ev: String, geben Sie den Namen des Ereignisses an
  • func: Funktion, Ereignisverarbeitungsfunktion angeben

Ergebnis zurückgeben:

  • Object, Geben Sie das Ereignisobjekt selbst zurück, was für Kettenaufrufe praktisch ist

Binden Sie einen Ereignishandler an den Anfang des Objekts

1
Object WebView.prependOnceListener(Object map);

Aufrufparameter:

  • map: Objekt, geben Sie die Ereigniszuordnungsbeziehung an, der Name der Objekteigenschaft wird als Ereignisname verwendet und der Eigenschaftswert wird als Ereignisverarbeitungsfunktion verwendet

Ergebnis zurückgeben:

  • Object, Geben Sie das Ereignisobjekt selbst zurück, was für Kettenaufrufe praktisch ist

off

Brechen Sie die angegebene Funktion aus der Objektverarbeitungswarteschlange ab

1 2
Object WebView.off(String ev, Function func);

Aufrufparameter:

  • ev: String, geben Sie den Namen des Ereignisses an
  • func: Funktion, Ereignisverarbeitungsfunktion angeben

Ergebnis zurückgeben:

  • Object, Geben Sie das Ereignisobjekt selbst zurück, was für Kettenaufrufe praktisch ist

Alle Funktionen in der Objektverarbeitungswarteschlange abbrechen

1
Object WebView.off(String ev);

Aufrufparameter:

  • ev: String, geben Sie den Namen des Ereignisses an

Ergebnis zurückgeben:

  • Object, Geben Sie das Ereignisobjekt selbst zurück, was für Kettenaufrufe praktisch ist

Brechen Sie die angegebene Funktion aus der Objektverarbeitungswarteschlange ab

1
Object WebView.off(Object map);

Aufrufparameter:

  • map: Objekt, geben Sie die Ereigniszuordnungsbeziehung an, der Objekteigenschaftsname wird als Ereignisname verwendet und der Eigenschaftswert wird als Ereignisverarbeitungsfunktion verwendet

Ergebnis zurückgeben:

  • Object, Geben Sie das Ereignisobjekt selbst zurück, was für Kettenaufrufe praktisch ist

removeListener

Brechen Sie die angegebene Funktion aus der Objektverarbeitungswarteschlange ab

1 2
Object WebView.removeListener(String ev, Function func);

Aufrufparameter:

  • ev: String, geben Sie den Namen des Ereignisses an
  • func: Funktion, Ereignisverarbeitungsfunktion angeben

Ergebnis zurückgeben:

  • Object, Geben Sie das Ereignisobjekt selbst zurück, was für Kettenaufrufe praktisch ist

Alle Funktionen in der Objektverarbeitungswarteschlange abbrechen

1
Object WebView.removeListener(String ev);

Aufrufparameter:

  • ev: String, geben Sie den Namen des Ereignisses an

Ergebnis zurückgeben:

  • Object, Geben Sie das Ereignisobjekt selbst zurück, was für Kettenaufrufe praktisch ist

Brechen Sie die angegebene Funktion aus der Objektverarbeitungswarteschlange ab

1
Object WebView.removeListener(Object map);

Aufrufparameter:

  • map: Objekt, geben Sie die Ereigniszuordnungsbeziehung an, der Objekteigenschaftsname wird als Ereignisname verwendet und der Eigenschaftswert wird als Ereignisverarbeitungsfunktion verwendet

Ergebnis zurückgeben:

  • Object, Geben Sie das Ereignisobjekt selbst zurück, was für Kettenaufrufe praktisch ist

removeAllListeners

Abbrechen aller Listener aller Ereignisse aus der Objektverarbeitungswarteschlange Wenn ein Ereignis angegeben ist, entfernen Sie alle Listener des angegebenen Ereignisses.

1
Object WebView.removeAllListeners(String ev);

Aufrufparameter:

  • ev: String, geben Sie den Namen des Ereignisses an

Ergebnis zurückgeben:

  • Object, Geben Sie das Ereignisobjekt selbst zurück, was für Kettenaufrufe praktisch ist

Abbrechen aller Listener aller Ereignisse aus der Objektverarbeitungswarteschlange Wenn ein Ereignis angegeben ist, entfernen Sie alle Listener des angegebenen Ereignisses.

1
Object WebView.removeAllListeners(Array evs = []);

Aufrufparameter:

  • evs: Array, geben Sie den Namen des Ereignisses an

Ergebnis zurückgeben:

  • Object, Geben Sie das Ereignisobjekt selbst zurück, was für Kettenaufrufe praktisch ist

setMaxListeners

Die Standardbegrenzung der Anzahl der Listener, nur aus Kompatibilitätsgründen

1
WebView.setMaxListeners(Integer n);

Aufrufparameter:

  • n: Integer, geben Sie die Anzahl der Ereignisse an

getMaxListeners

Holen Sie sich das Standardlimit für die Anzahl der Listener, nur aus Kompatibilitätsgründen

1
Integer WebView.getMaxListeners();

Ergebnis zurückgeben:

  • Integer, Zurück zur Standardgrenzzahl

listeners

Array von Listenern für das angegebene Ereignis des Abfrageobjekts

1
Array WebView.listeners(String ev);

Aufrufparameter:

  • ev: String, geben Sie den Namen des Ereignisses an

Ergebnis zurückgeben:

  • Array, Gibt ein Array von Listenern für das angegebene Ereignis zurück

listenerCount

Die Anzahl der Listener für das angegebene Ereignis des Abfrageobjekts

1
Integer WebView.listenerCount(String ev);

Aufrufparameter:

  • ev: String, geben Sie den Namen des Ereignisses an

Ergebnis zurückgeben:

  • Integer, Gibt die Anzahl der Listener für das angegebene Ereignis zurück

eventNames

Abfrage des Ereignisnamens des Listeners

1
Array WebView.eventNames();

Ergebnis zurückgeben:

  • Array, Gibt ein Array von Ereignisnamen zurück

emit

Ein Ereignis aktiv auslösen

1 2
Boolean WebView.emit(String ev, ...args);

Aufrufparameter:

  • ev: String, Ereignisname
  • args: ..., Event-Parameter, die an den Event-Handler übergeben werden

Ergebnis zurückgeben:

  • Boolean, Rückkehr zum Ereignis-Trigger-Zustand, true zurückgeben, wenn ein Antwortereignis vorliegt, ansonsten false zurückgeben

toString

Gibt die String-Darstellung des Objekts zurück, gibt im Allgemeinen "[Native Object]" zurück, das Objekt kann entsprechend seiner eigenen Eigenschaften neu implementiert werden

1
String WebView.toString();

Ergebnis zurückgeben:

  • String, Gibt die String-Darstellung des Objekts zurück

toJSON

Gibt die Darstellung des Objekts im JSON-Format zurück, gibt im Allgemeinen eine Sammlung von lesbaren Attributen zurück, die durch das Objekt definiert sind

1
Value WebView.toJSON(String key = "");

Aufrufparameter:

  • key: String, unbenutzt

Ergebnis zurückgeben:

  • Value, Gibt einen Wert zurück, der JSON serialisierbar enthält