Objekt eingebautes Objekt

Objekt WebView

Browserfensterobjekt

WebView ist eine im Browser eingebettete Fensterkomponente und unterstützt derzeit nur Windows, MacOS (10.10+). Verwenden Sie den IE / Edge-Kernel in Windows und 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 Host-Programm kommunizieren müssen.

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

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 lautet 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 werden soll. Wenn external.onclose false zurückgibt, wird der Vorgang abgebrochen, andernfalls wird das Fenster geschlossen.

Das folgende Beispiel wartet 5 Sekunden, nachdem der Benutzer auf 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 im obigen Code window.close selbst auch das Ereignis onclose auslöst, muss eine Schaltvariable hinzugefügt werden, um zu identifizieren, ob das Ereignis verarbeitet werden muss.

Vererbungsbeziehung

Statische Eigenschaften

defaultMaxListeners

Ganzzahl, 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, beziehen Sie sich auf die aufrufende Schnittstelle: https://chromedevtools.github.io/devtools-protocol/

1
readonly Value WebView.dev;

onopen

Funktion, Abfrage und Bindung des Ladeerfolgsereignisses, äquivalent zu on ("open", func);

1
Function WebView.onopen;

onload

Funktion, Abfrage und Bindung des Ladeerfolgsereignisses, äquivalent zu on ("load", func);

1
Function WebView.onload;

onaddress

Ereignis zum Ändern der Funktion, Abfrage und Bindung der Seitenadresse, äquivalent zu on ("Adresse", Funktion);

1
Function WebView.onaddress;

ontitle

Funktionieren, abfragen und binden Sie das Ereignis zur Änderung des Seitentitels, das on ("title", func) entspricht.

1
Function WebView.ontitle;

onmove

Funktionieren, Abfragen und Binden von Fensterbewegungsereignissen, äquivalent zu on ("move", func);

1
Function WebView.onmove;

Im folgenden Beispiel werden die Koordinaten der oberen linken Ecke des Fensters ausgegeben, 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

Ereignis zum Ändern der Größe der Funktion, Abfrage und Bindung des Fensters, entsprechend on ("size", func);

1
Function WebView.onresize;

Im folgenden Beispiel wird die Größe des Fensters ausgegeben, wenn die Größe des Fensters 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

Das Ereignis zum Schließen von Funktionen, Abfragen und Binden von Fenstern wird dieses Mal ausgelöst, nachdem WebView geschlossen wurde. Dies entspricht on ("geschlossen", func).

1
Function WebView.onclosed;

onmessage

Funktion, Abfrage und Bindung, um das postMessage-Ereignis in der Webansicht zu akzeptieren, entspricht on ("message", func);

1
Function WebView.onmessage;

Mitgliedsfunktion

loadUrl

Last angegeben url Seite von

1
WebView.loadUrl(String url) async;

Parameter aufrufen:

  • url: String, angegeben url

getUrl

Fragen Sie die aktuelle Seite ab url

1
String WebView.getUrl() async;

Ergebnis zurückgeben:

  • String, Zurück zur aktuellen Seite url

setHtml

Stellen Sie die HTML-Seite der Webansicht ein

1
WebView.setHtml(String html) async;

Parameter aufrufen:

  • html: String, setze HTML

reload

Aktualisieren Sie die aktuelle Seite

1
WebView.reload() async;

goBack

zurück zur vorherigen Seite

1
WebView.goBack() async;

goForward

Fahren Sie mit der nächsten Seite fort

1
WebView.goForward() async;

print

Drucken Sie das aktuelle Fensterdokument

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

Parameter aufrufen:

  • mode: Ganzzahl, Druckparameter, 0: schneller Druck; 1: Standarddruck; 2: Druckvorschau. Standard ist 1

printToPDF

Drucken Sie das aktuelle Fensterdokument in eine PDF-Datei

1
WebView.printToPDF(String file) async;

Parameter aufrufen:

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

executeJavaScript

Führen Sie im aktuellen Fenster einen Teil des JavaScript-Codes aus

1
WebView.executeJavaScript(String code) async;

Parameter aufrufen:

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

executeDevToolsMethod

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

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

Parameter aufrufen:

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

Ergebnis zurückgeben:

  • Variant, Geben Sie das Ergebnis der Ausführung zurück

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;

Parameter aufrufen:

  • msg: String, die zu sendende 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

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

Parameter aufrufen:

  • 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 den Kettenaufruf praktisch ist

Binden Sie einen Ereignishandler an das Objekt

1
Object WebView.on(Object map);

Parameter aufrufen:

  • 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 den Kettenaufruf praktisch ist

addListener

Binden Sie einen Ereignishandler an das Objekt

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

Parameter aufrufen:

  • 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 den Kettenaufruf praktisch ist

Binden Sie einen Ereignishandler an das Objekt

1
Object WebView.addListener(Object map);

Parameter aufrufen:

  • 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 den Kettenaufruf praktisch ist

prependListener

Binden Sie einen Ereignishandler an den Anfang des Objekts

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

Parameter aufrufen:

  • 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 den Kettenaufruf praktisch ist

Binden Sie einen Ereignishandler an den Anfang des Objekts

1
Object WebView.prependListener(Object map);

Parameter aufrufen:

  • 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 den Kettenaufruf 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);

Parameter aufrufen:

  • 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 den Kettenaufruf praktisch ist

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

1
Object WebView.once(Object map);

Parameter aufrufen:

  • 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 den Kettenaufruf praktisch ist

prependOnceListener

Binden Sie einen Ereignishandler an den Anfang des Objekts

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

Parameter aufrufen:

  • 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 den Kettenaufruf praktisch ist

Binden Sie einen Ereignishandler an den Anfang des Objekts

1
Object WebView.prependOnceListener(Object map);

Parameter aufrufen:

  • 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 den Kettenaufruf praktisch ist

off

Brechen Sie die angegebene Funktion aus der Objektverarbeitungswarteschlange ab

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

Parameter aufrufen:

  • 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 den Kettenaufruf praktisch ist

Brechen Sie alle Funktionen in der Objektverarbeitungswarteschlange ab

1
Object WebView.off(String ev);

Parameter aufrufen:

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

Ergebnis zurückgeben:

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

Brechen Sie die angegebene Funktion aus der Objektverarbeitungswarteschlange ab

1
Object WebView.off(Object map);

Parameter aufrufen:

  • 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 den Kettenaufruf praktisch ist

removeListener

Brechen Sie die angegebene Funktion aus der Objektverarbeitungswarteschlange ab

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

Parameter aufrufen:

  • 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 den Kettenaufruf praktisch ist

Brechen Sie alle Funktionen in der Objektverarbeitungswarteschlange ab

1
Object WebView.removeListener(String ev);

Parameter aufrufen:

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

Ergebnis zurückgeben:

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

Brechen Sie die angegebene Funktion aus der Objektverarbeitungswarteschlange ab

1
Object WebView.removeListener(Object map);

Parameter aufrufen:

  • 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 den Kettenaufruf praktisch ist

removeAllListeners

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

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

Parameter aufrufen:

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

Ergebnis zurückgeben:

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

setMaxListeners

Das Standardlimit für die Anzahl der Listener, nur aus Kompatibilitätsgründen

1
WebView.setMaxListeners(Integer n);

Parameter aufrufen:

  • 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, Kehren Sie zur Standardgrenzwertnummer zurück

listeners

Array von Listenern für das angegebene Ereignis des Abfrageobjekts

1
Array WebView.listeners(String ev);

Parameter aufrufen:

  • 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);

Parameter aufrufen:

  • 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

Fragen Sie den Namen des Listener-Ereignisses ab

1
Array WebView.eventNames();

Ergebnis zurückgeben:

  • Array, Gibt ein Array von Ereignisnamen zurück

emit

Lösen Sie ein Ereignis proaktiv aus

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

Parameter aufrufen:

  • ev: String, Ereignisname
  • args: ..., Ereignisparameter, die an den Ereignishandler übergeben werden

Ergebnis zurückgeben:

  • Boolean, Kehren Sie zum Ereignisauslöserstatus zurück, geben Sie true zurück, wenn ein Antwortereignis vorliegt, andernfalls geben Sie false zurück

toString

Gibt die Zeichenfolgendarstellung des Objekts zurück, gibt im Allgemeinen "[Native Object]" zurück. Das Objekt kann gemäß seinen eigenen Merkmalen erneut implementiert werden

1
String WebView.toString();

Ergebnis zurückgeben:

  • String, Gibt die Zeichenfolgendarstellung des Objekts zurück

toJSON

Gibt die Darstellung des Objekts im JSON-Format zurück und gibt im Allgemeinen eine Sammlung lesbarer Attribute zurück, die vom Objekt definiert wurden

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

Parameter aufrufen:

  • key: String, unbenutzt

Ergebnis zurückgeben:

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