Objekt integriertes Objekt

ObjectWebView

Browserfensterobjekt

WebView ist eine in den Browser eingebettete Fensterkomponente. Derzeit werden nur Windows und macOS (10.10+) unterstützt. Es verwendet den IE/Edge-Kernel in Windows und WKWebView in macOS.

Da sich das JavaScript-Programm in WebView und fibjs nicht in derselben Engine befinden, muss die Kommunikation mit dem Host-Programm über Nachrichten erfolgen.

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

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 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.

Im folgenden Beispiel wird 5 Sekunden gewartet, nachdem der Benutzer auf „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 im obigen Code window.close selbst auch das Ereignis onclose auslöst, muss eine Schaltervariable hinzugefügt werden, um festzustellen, ob dieses Ereignis verarbeitet werden muss.

Erbschaftsverhältnis

statische Eigenschaften

defaultMaxListeners

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

1
static Integer WebView.defaultMaxListeners;

Mitgliedereigenschaften

onopen

Erfolgreiches Laden von Funktionen, Abfragen und Bindungen, äquivalent zu on("open", func);

1
Function WebView.onopen;

onload

Funktion, Abfrage und Bindung von Ladeerfolgsereignissen, äquivalent zu on("load", func);

1
Function WebView.onload;

onaddress

Funktion, Abfrage und Bindung von Seitenadressen-Änderungsereignissen, äquivalent zu on("address", func);

1
Function WebView.onaddress;

ontitle

Funktion, Abfrage und Bindung von Seitentiteländerungsereignissen, ä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 es 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

Funktion, Abfragen und Bindung von Ereignissen zur Änderung der Fenstergröße, äquivalent zu on("size", func);

1
Function WebView.onresize;

Das folgende Beispiel gibt die Abmessungen eines Fensters aus, wenn dessen Größ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

Funktion, Abfrage und Bindung des Fensterschließereignisses. Diese Zeit wird nach dem Schließen von WebView ausgelöst, was on("closed", func); entspricht.

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 Download-Transaktionsstatusänderungsereignisse in der Webansicht, äquivalent zu on("download", func);

1
Function WebView.ondownload;

Mitgliedsfunktion

loadUrl

Last angegebenurldie Seite

1
WebView.loadUrl(String url) async;

Aufrufparameter:

  • url: String, angegebenurl

getUrl

Fragen Sie die aktuelle Seite aburl

1
String WebView.getUrl() async;

Rückgabeergebnisse:

  • String, gibt die aktuelle Seite zurückurl

setHtml

Legen Sie den Seiten-HTML der Webansicht fest

1
WebView.setHtml(String html) async;

Aufrufparameter:

  • html: String, HTML festlegen

reload

Aktuelle Seite aktualisieren

1
WebView.reload() async;

goBack

Zur vorherigen Seite zurückkehren

1
WebView.goBack() async;

goForward

Gehen Sie zur nächsten Seite

1
WebView.goForward() async;

print

Drucken Sie das aktuelle Fensterdokument

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

Aufrufparameter:

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

executeJavaScript

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

1
WebView.executeJavaScript(String code) async;

Aufrufparameter:

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

close

Aktuelles Fenster schließen

1
WebView.close() async;

postMessage

Nachricht an Webview senden

1
WebView.postMessage(String msg) async;

Aufrufparameter:

  • msg: String, die zu sendende Nachricht

    postMessage muss die Nachricht senden, nachdem das Fenster geladen wurde, und die zuvor gesendeten Nachrichten gehen verloren. Daher wird empfohlen, diese Methode aufzurufen, nachdem das Onload-Ereignis ausgelöst wurde.


on

Binden Sie einen Event-Handler an das Objekt

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

Aufrufparameter:

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

Rückgabeergebnisse:

  • Object, gibt das Ereignisobjekt selbst zurück, um Kettenaufrufe zu erleichtern

Binden Sie einen Event-Handler an das Objekt

1
Object WebView.on(Object map);

Aufrufparameter:

  • map: Objekt, gibt die Ereigniszuordnungsbeziehung an, der Objektattributname wird als Ereignisname und der Wert des Attributs als Ereignisverarbeitungsfunktion verwendet

Rückgabeergebnisse:

  • Object, gibt das Ereignisobjekt selbst zurück, um Kettenaufrufe zu erleichtern

addListener

Binden Sie einen Event-Handler an das Objekt

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

Aufrufparameter:

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

Rückgabeergebnisse:

  • Object, gibt das Ereignisobjekt selbst zurück, um Kettenaufrufe zu erleichtern

Binden Sie einen Event-Handler an das Objekt

1
Object WebView.addListener(Object map);

Aufrufparameter:

  • map: Objekt, gibt die Ereigniszuordnungsbeziehung an, der Objektattributname wird als Ereignisname und der Wert des Attributs als Ereignisverarbeitungsfunktion verwendet

Rückgabeergebnisse:

  • Object, gibt das Ereignisobjekt selbst zurück, um Kettenaufrufe zu erleichtern

prependListener

Binden Sie einen Ereignishandler an den Ursprung des Objekts

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

Aufrufparameter:

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

Rückgabeergebnisse:

  • Object, gibt das Ereignisobjekt selbst zurück, um Kettenaufrufe zu erleichtern

Binden Sie einen Ereignishandler an den Ursprung des Objekts

1
Object WebView.prependListener(Object map);

Aufrufparameter:

  • map: Objekt, gibt die Ereigniszuordnungsbeziehung an, der Objektattributname wird als Ereignisname und der Wert des Attributs als Ereignisverarbeitungsfunktion verwendet

Rückgabeergebnisse:

  • Object, gibt das Ereignisobjekt selbst zurück, um Kettenaufrufe zu erleichtern

once

Binden Sie einen einmaligen Ereignishandler an das Objekt. Der einmalige 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, geben Sie die Ereignisverarbeitungsfunktion an

Rückgabeergebnisse:

  • Object, gibt das Ereignisobjekt selbst zurück, um Kettenaufrufe zu erleichtern

Binden Sie einen einmaligen Ereignishandler an das Objekt. Der einmalige Handler wird nur einmal ausgelöst.

1
Object WebView.once(Object map);

Aufrufparameter:

  • map: Objekt, gibt die Ereigniszuordnungsbeziehung an, der Objektattributname wird als Ereignisname und der Wert des Attributs als Ereignisverarbeitungsfunktion verwendet

Rückgabeergebnisse:

  • Object, gibt das Ereignisobjekt selbst zurück, um Kettenaufrufe zu erleichtern

prependOnceListener

Binden Sie einen Ereignishandler an den Ursprung des Objekts

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

Aufrufparameter:

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

Rückgabeergebnisse:

  • Object, gibt das Ereignisobjekt selbst zurück, um Kettenaufrufe zu erleichtern

Binden Sie einen Ereignishandler an den Ursprung des Objekts

1
Object WebView.prependOnceListener(Object map);

Aufrufparameter:

  • map: Objekt, gibt die Ereigniszuordnungsbeziehung an, der Objektattributname wird als Ereignisname und der Wert des Attributs als Ereignisverarbeitungsfunktion verwendet

Rückgabeergebnisse:

  • Object, gibt das Ereignisobjekt selbst zurück, um Kettenaufrufe zu erleichtern

off

Heben Sie die Zuweisung einer Funktion zur Objektverarbeitungswarteschlange auf

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

Aufrufparameter:

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

Rückgabeergebnisse:

  • Object, gibt das Ereignisobjekt selbst zurück, um Kettenaufrufe zu erleichtern

Brechen Sie alle Funktionen in der Objektverarbeitungswarteschlange ab

1
Object WebView.off(String ev);

Aufrufparameter:

  • ev: String, gibt den Namen des Ereignisses an

Rückgabeergebnisse:

  • Object, gibt das Ereignisobjekt selbst zurück, um Kettenaufrufe zu erleichtern

Heben Sie die Zuweisung einer Funktion zur Objektverarbeitungswarteschlange auf

1
Object WebView.off(Object map);

Aufrufparameter:

  • map: Objekt, gibt die Ereigniszuordnungsbeziehung an, der Objektattributname wird als Ereignisname und der Wert des Attributs als Ereignisverarbeitungsfunktion verwendet

Rückgabeergebnisse:

  • Object, gibt das Ereignisobjekt selbst zurück, um Kettenaufrufe zu erleichtern

removeListener

Heben Sie die Zuweisung einer Funktion zur Objektverarbeitungswarteschlange auf

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

Aufrufparameter:

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

Rückgabeergebnisse:

  • Object, gibt das Ereignisobjekt selbst zurück, um Kettenaufrufe zu erleichtern

Brechen Sie alle Funktionen in der Objektverarbeitungswarteschlange ab

1
Object WebView.removeListener(String ev);

Aufrufparameter:

  • ev: String, gibt den Namen des Ereignisses an

Rückgabeergebnisse:

  • Object, gibt das Ereignisobjekt selbst zurück, um Kettenaufrufe zu erleichtern

Heben Sie die Zuweisung einer Funktion zur Objektverarbeitungswarteschlange auf

1
Object WebView.removeListener(Object map);

Aufrufparameter:

  • map: Objekt, gibt die Ereigniszuordnungsbeziehung an, der Objektattributname wird als Ereignisname und der Wert des Attributs als Ereignisverarbeitungsfunktion verwendet

Rückgabeergebnisse:

  • Object, gibt das Ereignisobjekt selbst zurück, um Kettenaufrufe zu erleichtern

removeAllListeners

Löscht alle Listener für alle Ereignisse aus der Verarbeitungswarteschlange des Objekts. Wenn ein Ereignis angegeben ist, werden alle Listener für das angegebene Ereignis entfernt.

1
Object WebView.removeAllListeners(String ev);

Aufrufparameter:

  • ev: String, gibt den Namen des Ereignisses an

Rückgabeergebnisse:

  • Object, gibt das Ereignisobjekt selbst zurück, um Kettenaufrufe zu erleichtern

Löscht alle Listener für alle Ereignisse aus der Verarbeitungswarteschlange des Objekts. Wenn ein Ereignis angegeben ist, werden alle Listener für das angegebene Ereignis entfernt.

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

Aufrufparameter:

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

Rückgabeergebnisse:

  • Object, gibt das Ereignisobjekt selbst zurück, um Kettenaufrufe zu erleichtern

setMaxListeners

Die Standardbeschränkung für die Anzahl der Listener dient nur der Kompatibilität

1
WebView.setMaxListeners(Integer n);

Aufrufparameter:

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

getMaxListeners

Ruft nur aus Kompatibilitätsgründen die standardmäßige maximale Anzahl von Listenern ab

1
Integer WebView.getMaxListeners();

Rückgabeergebnisse:

  • Integer, gibt die Standardgrenzmenge 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ückgabeergebnisse:

  • Array, gibt das Listener-Array für das angegebene Ereignis zurück

listenerCount

Fragen Sie die Anzahl der Listener für das angegebene Ereignis des Objekts ab

1
Integer WebView.listenerCount(String ev);

Aufrufparameter:

  • ev: String, gibt den Namen des Ereignisses an

Rückgabeergebnisse:

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

Fragen Sie die Anzahl der Listener für das angegebene Ereignis des Objekts ab

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ückgabeergebnisse:

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

eventNames

Name des Abfrage-Listener-Ereignisses

1
Array WebView.eventNames();

Rückgabeergebnisse:

  • 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: ..., Ereignisparameter werden an die Ereignisverarbeitungsfunktion übergeben

Rückgabeergebnisse:

  • Boolean, gibt den Ereignisauslöserstatus zurück, gibt „true“ zurück, wenn ein Antwortereignis vorliegt, andernfalls wird „false“ zurückgegeben

toString

Gibt die Zeichenfolgendarstellung des Objekts zurück. Im Allgemeinen wird „[Native Object]“ zurückgegeben. Das Objekt kann gemäß seinen eigenen Eigenschaften neu implementiert werden.

1
String WebView.toString();

Rückgabeergebnisse:

  • String, gibt die Zeichenfolgendarstellung des Objekts zurück

toJSON

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

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

Aufrufparameter:

  • key: Zeichenfolge, nicht verwendet

Rückgabeergebnisse:

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