Objekt eingebautes Objekt

Objekt WebView

Browserfenster-Objekt

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

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

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

Ein einfacher Beispielcode für die Kommunikation 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 oder nicht. Wenn external.onclose false zurückgibt, wird die Operation abgebrochen, andernfalls wird das Fenster geschlossen.

Im folgenden Beispiel wird 5 Sekunden gewartet, nachdem der Benutzer zum Schließen geklickt hat, bevor das Fenster geschlossen wird.

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 onclose-Ereignis auslöst, muss im obigen Code eine switch-Variable hinzugefügt werden, um festzustellen, ob dieses Ereignis verarbeitet werden muss.

Erbverhältnis

#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|onopen;onload;onaddress;ontitle;onmove;onresize;onclosed;onmessage;ondownload|loadUrl();getUrl();setHtml();reload();goBack();goForward();print();executeJavaScript();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 onopen onload onaddress ontitle onmove onresize onclosed onmessage ondownload loadUrl() getUrl() setHtml() reload() goBack() goForward() print() executeJavaScript() close() postMessage() object toString() toJSON()

statische Eigenschaften

defaultMaxListeners

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

1
static Integer WebView.defaultMaxListeners;

Mitgliedseigenschaften

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

Funktions-, Abfrage- und Bindungsseiten-Adressänderungsereignis, ä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, während sich das Fenster bewegt:

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

Funktionieren, Abfragen und Binden des Fenstergrößenänderungsereignisses, äquivalent zu on("size", func);

1
Function WebView.onresize;

Das folgende Beispiel gibt die Abmessungen des Fensters aus, 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

Funktion, Abfrage und Bindung des Fensterschließereignisses, dieses Mal wird ausgelöst, nachdem die WebView geschlossen wurde, was äquivalent zu on("closed", func) ist;

1
Function WebView.onclosed;

onmessage

Funktion, Abfrage und Bindung akzeptieren postMessage-Nachrichtenereignisse in der Webansicht, äquivalent zu on("message", func);

1
Function WebView.onmessage;

ondownload

Funktion, Abfrage und Bindung akzeptieren Ereignisse zum Ändern des Download-Transaktionsstatus in der Webansicht, äquivalent zu on("download", func);

1
Function WebView.ondownload;

Mitgliedsfunktion

loadUrl

Last angegebenurl's Seite

1
WebView.loadUrl(String url) async;

Aufrufparameter:

  • url: Zeichenfolge, angegebenurl

getUrl

aktuelle Seite abfragenurl

1
String WebView.getUrl() async;

Rückgabeergebnis:

  • String, gibt die aktuelle Seite zurückurl

setHtml

Stellen Sie das Seiten-HTML der Webansicht ein

1
WebView.setHtml(String html) async;

Aufrufparameter:

  • html: String, der Satz html

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

executeJavaScript

Führen Sie im aktuellen Fenster einen JavaScript-Code aus

1
WebView.executeJavaScript(String code) async;

Aufrufparameter:

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

close

schließt das aktuelle Fenster

1
WebView.close() async;

postMessage

Nachricht an Webview senden

1
WebView.postMessage(String msg) async;

Aufrufparameter:

  • msg: String, die zu sendende Nachricht

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


on

Binden Sie einen Ereignishandler an ein Objekt

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

Aufrufparameter:

  • ev: String, gibt den Namen des Ereignisses an
  • func: Funktion, gibt die Event-Handler-Funktion an

Rückgabeergebnis:

  • Object, gibt das Ereignisobjekt selbst für eine einfache Verkettung zurück

Binden Sie einen Ereignishandler an ein Objekt

1
Object WebView.on(Object map);

Aufrufparameter:

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

Rückgabeergebnis:

  • Object, gibt das Ereignisobjekt selbst für eine einfache Verkettung zurück

addListener

Binden Sie einen Ereignishandler an ein Objekt

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

Aufrufparameter:

  • ev: String, gibt den Namen des Ereignisses an
  • func: Funktion, gibt die Event-Handler-Funktion an

Rückgabeergebnis:

  • Object, gibt das Ereignisobjekt selbst für eine einfache Verkettung zurück

Binden Sie einen Ereignishandler an ein Objekt

1
Object WebView.addListener(Object map);

Aufrufparameter:

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

Rückgabeergebnis:

  • Object, gibt das Ereignisobjekt selbst für eine einfache Verkettung zurück

prependListener

Binden Sie einen Ereignishandler an den Objektanfang

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

Aufrufparameter:

  • ev: String, gibt den Namen des Ereignisses an
  • func: Funktion, gibt die Event-Handler-Funktion an

Rückgabeergebnis:

  • Object, gibt das Ereignisobjekt selbst für eine einfache Verkettung zurück

Binden Sie einen Ereignishandler an den Objektanfang

1
Object WebView.prependListener(Object map);

Aufrufparameter:

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

Rückgabeergebnis:

  • Object, gibt das Ereignisobjekt selbst für eine einfache Verkettung zurück

once

Binden Sie einen Einmal-Ereignishandler an das Objekt, der Einmal-Handler wird nur einmal ausgelöst

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

Aufrufparameter:

  • ev: String, gibt den Namen des Ereignisses an
  • func: Funktion, gibt die Event-Handler-Funktion an

Rückgabeergebnis:

  • Object, gibt das Ereignisobjekt selbst für eine einfache Verkettung zurück

Binden Sie einen Einmal-Ereignishandler an das Objekt, der Einmal-Handler wird nur einmal ausgelöst

1
Object WebView.once(Object map);

Aufrufparameter:

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

Rückgabeergebnis:

  • Object, gibt das Ereignisobjekt selbst für eine einfache Verkettung zurück

prependOnceListener

Binden Sie einen Ereignishandler an den Objektanfang

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

Aufrufparameter:

  • ev: String, gibt den Namen des Ereignisses an
  • func: Funktion, gibt die Event-Handler-Funktion an

Rückgabeergebnis:

  • Object, gibt das Ereignisobjekt selbst für eine einfache Verkettung zurück

Binden Sie einen Ereignishandler an den Objektanfang

1
Object WebView.prependOnceListener(Object map);

Aufrufparameter:

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

Rückgabeergebnis:

  • Object, gibt das Ereignisobjekt selbst für eine einfache Verkettung zurück

off

Abbrechen der angegebenen Funktion aus der Objektverarbeitungswarteschlange

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

Aufrufparameter:

  • ev: String, gibt den Namen des Ereignisses an
  • func: Funktion, gibt die Event-Handler-Funktion an

Rückgabeergebnis:

  • Object, gibt das Ereignisobjekt selbst für eine einfache Verkettung zurück

Brechen Sie alle Funktionen in der Objektverarbeitungswarteschlange ab

1
Object WebView.off(String ev);

Aufrufparameter:

  • ev: String, gibt den Namen des Ereignisses an

Rückgabeergebnis:

  • Object, gibt das Ereignisobjekt selbst für eine einfache Verkettung zurück

Abbrechen der angegebenen Funktion aus der Objektverarbeitungswarteschlange

1
Object WebView.off(Object map);

Aufrufparameter:

  • map: Objekt, gibt die Ereigniszuordnungsbeziehung an, der Objekteigenschaftsname wird als Ereignisname verwendet und der Eigenschaftswert wird als Ereignishandlerfunktion verwendet

Rückgabeergebnis:

  • Object, gibt das Ereignisobjekt selbst für eine einfache Verkettung zurück

removeListener

Abbrechen der angegebenen Funktion aus der Objektverarbeitungswarteschlange

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

Aufrufparameter:

  • ev: String, gibt den Namen des Ereignisses an
  • func: Funktion, gibt die Event-Handler-Funktion an

Rückgabeergebnis:

  • Object, gibt das Ereignisobjekt selbst für eine einfache Verkettung zurück

Brechen Sie alle Funktionen in der Objektverarbeitungswarteschlange ab

1
Object WebView.removeListener(String ev);

Aufrufparameter:

  • ev: String, gibt den Namen des Ereignisses an

Rückgabeergebnis:

  • Object, gibt das Ereignisobjekt selbst für eine einfache Verkettung zurück

Abbrechen der angegebenen Funktion aus der Objektverarbeitungswarteschlange

1
Object WebView.removeListener(Object map);

Aufrufparameter:

  • map: Objekt, gibt die Ereigniszuordnungsbeziehung an, der Objekteigenschaftsname wird als Ereignisname verwendet und der Eigenschaftswert wird als Ereignishandlerfunktion verwendet

Rückgabeergebnis:

  • Object, gibt das Ereignisobjekt selbst für eine einfache Verkettung zurück

removeAllListeners

Bricht alle Listener für alle Ereignisse aus der Verarbeitungswarteschlange des Objekts ab oder entfernt alle Listener für das angegebene Ereignis, wenn ein Ereignis angegeben ist.

1
Object WebView.removeAllListeners(String ev);

Aufrufparameter:

  • ev: String, gibt den Namen des Ereignisses an

Rückgabeergebnis:

  • Object, gibt das Ereignisobjekt selbst für eine einfache Verkettung zurück

Bricht alle Listener für alle Ereignisse aus der Verarbeitungswarteschlange des Objekts ab oder entfernt alle Listener für das angegebene Ereignis, wenn ein Ereignis angegeben ist.

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

Aufrufparameter:

  • evs: Array, das den Namen des Ereignisses angibt

Rückgabeergebnis:

  • Object, gibt das Ereignisobjekt selbst für eine einfache Verkettung zurück

setMaxListeners

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

1
WebView.setMaxListeners(Integer n);

Aufrufparameter:

  • n: Ganzzahl, gibt die Anzahl der Ereignisse an

getMaxListeners

Ruft die Anzahl der Standardgrenzwerte für Listener ab, nur aus Kompatibilitätsgründen

1
Integer WebView.getMaxListeners();

Rückgabeergebnis:

  • Integer, gibt die Standardlimitnummer zurück

listeners

Fragen Sie das Listener-Array nach dem angegebenen Ereignis des Objekts ab

1
Array WebView.listeners(String ev);

Aufrufparameter:

  • ev: String, gibt den Namen des Ereignisses an

Rückgabeergebnis:

  • 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, gibt den Namen des Ereignisses an

Rückgabeergebnis:

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

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

1 2
Integer WebView.listenerCount(Value o, String ev);

Aufrufparameter:

  • o: Wert, gibt das Objekt der Abfrage an
  • ev: String, gibt den Namen des Ereignisses an

Rückgabeergebnis:

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

eventNames

Name des Listener-Ereignisses abfragen

1
Array WebView.eventNames();

Rückgabeergebnis:

  • Array, gibt ein Array von Ereignisnamen zurück

emit

Aktiv ein Ereignis auslösen

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

Aufrufparameter:

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

Rückgabeergebnis:

  • Boolean, gibt den Status des Ereignisauslösers zurück, gibt „true“ zurück, wenn es ein Antwortereignis gibt, gibt andernfalls „false“ zurück

toString

Gibt die Zeichenfolgendarstellung des Objekts zurück, gibt im Allgemeinen "[Native Object]" zurück, das Objekt kann gemäß seinen eigenen Eigenschaften neu implementiert werden

1
String WebView.toString();

Rückgabeergebnis:

  • String, gibt die Zeichenfolgendarstellung des Objekts zurück

toJSON

Gibt die Darstellung des Objekts im JSON-Format zurück, gibt im Allgemeinen den Satz lesbarer Eigenschaften zurück, die durch das Objekt definiert sind

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

Aufrufparameter:

  • key: Schnur, unbenutzt

Rückgabeergebnis:

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