Objekt eingebautes Objekt

Objekt WebView

Browserfensterobjekt

WebView ist eine im Browser eingebettete Fensterkomponente, die derzeit nur Windows unterstützt, d. H.

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 Host-Programm kommunizieren müssen.

Das Objekt, das WebView für die Kommunikation verwendet, ist extern. Extern 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 nach dem Schließen des Benutzerpunkts 5 Sekunden, 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 im obigen Code auch das Ereignis onclose auslöst, müssen Sie eine Schaltvariable hinzufügen, um festzustellen, ob Sie dieses Ereignis behandeln müssen.

Vererbung

Statische Eigenschaft

defaultMaxListeners

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

1
static Integer WebView.defaultMaxListeners;

Mitgliedsattribute

visible

Boolean, fragen Sie ab und legen Sie fest, ob das Fenster angezeigt wird

1
Boolean WebView.visible;

onload

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

1
Function WebView.onload;

onmove

Funktions-, Abfrage- und Bindungsfenster-Verschiebungsereignis, äquivalent zu on ("move", func);

1
Function WebView.onmove;

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

Ereignis zum Ändern der Größe des Funktions-, Abfrage- und Bindungsfensters, entsprechend on ("size", func);

1
Function WebView.onresize;

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

Das Ereignis zum Schließen des Funktions-, Abfrage- und Bindungsfensters wird dieses Mal ausgelöst, nachdem das WebView geschlossen wurde. Dies entspricht on ("geschlossen", func).

1
Function WebView.onclosed;

onmessage

Funktion, Abfrage und Bindung akzeptieren postMessage-Nachrichtenereignis in der Webansicht, entsprechend on ("message", func);

1
Function WebView.onmessage;

Mitgliedsfunktion

setHtml

Stellen Sie die HTML der Webview-Seite ein

1
WebView.setHtml(String html) async;

Parameter aufrufen:

  • html : String, der eingestellte HTML-Code

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

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 nach dem Laden des Fensters eine Nachricht senden, und vor dieser Zeit 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);

Parameter aufrufen:

  • ev : String, der Name des angegebenen Ereignisses
  • func : Funktion, Event-Handler-Funktion angeben

Gibt das Ergebnis zurück:

  • Object , gibt die Anzahl der erfolgreichen Bindungen zurück oder 0, wenn die Funktion gebunden ist

Binden Sie einen Ereignishandler an ein Objekt

1
Object WebView.on(Object map);

Parameter aufrufen:

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

Gibt das Ergebnis zurück:

  • Object , gibt das Ereignisobjekt selbst zurück, was für verkettete Aufrufe praktisch ist

addListener

Binden Sie einen Ereignishandler an ein Objekt

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

Parameter aufrufen:

  • ev : String, der Name des angegebenen Ereignisses
  • func : Funktion, Event-Handler-Funktion angeben

Gibt das Ergebnis zurück:

  • Object , gibt das Ereignisobjekt selbst zurück, was für verkettete Aufrufe praktisch ist

Binden Sie einen Ereignishandler an ein Objekt

1
Object WebView.addListener(Object map);

Parameter aufrufen:

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

Gibt das Ergebnis zurück:

  • Object , gibt das Ereignisobjekt selbst zurück, was für verkettete Aufrufe 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, der Name des angegebenen Ereignisses
  • func : Funktion, Event-Handler-Funktion angeben

Gibt das Ergebnis zurück:

  • Object , gibt die Anzahl der erfolgreichen Bindungen zurück oder 0, wenn die Funktion gebunden ist

Binden Sie einen Ereignishandler an den Anfang des Objekts

1
Object WebView.prependListener(Object map);

Parameter aufrufen:

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

Gibt das Ergebnis zurück:

  • Object , gibt die Anzahl der erfolgreichen Bindungen zurück oder 0, wenn die Funktion gebunden ist

once

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

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

Parameter aufrufen:

  • ev : String, der Name des angegebenen Ereignisses
  • func : Funktion, Event-Handler-Funktion angeben

Gibt das Ergebnis zurück:

  • Object , gibt das Ereignisobjekt selbst zurück, was für verkettete Aufrufe praktisch ist

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

1
Object WebView.once(Object map);

Parameter aufrufen:

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

Gibt das Ergebnis zurück:

  • Object , gibt das Ereignisobjekt selbst zurück, was für verkettete Aufrufe 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, der Name des angegebenen Ereignisses
  • func : Funktion, Event-Handler-Funktion angeben

Gibt das Ergebnis zurück:

  • Object , gibt die Anzahl der erfolgreichen Bindungen zurück oder 0, wenn die Funktion gebunden ist

Binden Sie einen Ereignishandler an den Anfang des Objekts

1
Object WebView.prependOnceListener(Object map);

Parameter aufrufen:

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

Gibt das Ergebnis zurück:

  • Object , gibt die Anzahl der erfolgreichen Bindungen zurück oder 0, wenn die Funktion gebunden ist

off

Nicht spezifizierte Funktion aus der Objektverarbeitungswarteschlange

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

Parameter aufrufen:

  • ev : String, der Name des angegebenen Ereignisses
  • func : Funktion, Event-Handler-Funktion angeben

Gibt das Ergebnis zurück:

  • Object , gibt das Ereignisobjekt selbst zurück, was für verkettete Aufrufe praktisch ist

Brechen Sie alle Funktionen in der Objektverarbeitungswarteschlange ab

1
Object WebView.off(String ev);

Parameter aufrufen:

  • ev : String, der Name des angegebenen Ereignisses

Gibt das Ergebnis zurück:

  • Object , gibt das Ereignisobjekt selbst zurück, was für verkettete Aufrufe praktisch ist

Nicht spezifizierte Funktion aus der Objektverarbeitungswarteschlange

1
Object WebView.off(Object map);

Parameter aufrufen:

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

Gibt das Ergebnis zurück:

  • Object , gibt das Ereignisobjekt selbst zurück, was für verkettete Aufrufe praktisch ist

removeListener

Nicht spezifizierte Funktion aus der Objektverarbeitungswarteschlange

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

Parameter aufrufen:

  • ev : String, der Name des angegebenen Ereignisses
  • func : Funktion, Event-Handler-Funktion angeben

Gibt das Ergebnis zurück:

  • Object , gibt das Ereignisobjekt selbst zurück, was für verkettete Aufrufe praktisch ist

Brechen Sie alle Funktionen in der Objektverarbeitungswarteschlange ab

1
Object WebView.removeListener(String ev);

Parameter aufrufen:

  • ev : String, der Name des angegebenen Ereignisses

Gibt das Ergebnis zurück:

  • Object , gibt das Ereignisobjekt selbst zurück, was für verkettete Aufrufe praktisch ist

Nicht spezifizierte Funktion aus der Objektverarbeitungswarteschlange

1
Object WebView.removeListener(Object map);

Parameter aufrufen:

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

Gibt das Ergebnis zurück:

  • Object , gibt das Ereignisobjekt selbst zurück, was für verkettete Aufrufe praktisch ist

removeAllListeners

Brechen Sie alle Listener für alle Ereignisse aus der Objektverarbeitungswarteschlange ab. Wenn ein Ereignis angegeben ist, entfernen Sie alle Listener für das angegebene Ereignis.

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

Parameter aufrufen:

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

Gibt das Ergebnis zurück:

  • Object , gibt das Ereignisobjekt selbst zurück, was für verkettete Aufrufe praktisch ist

setMaxListeners

Standardmäßig Anzahl der Listener, nur aus Kompatibilitätsgründen

1
WebView.setMaxListeners(Integer n);

Parameter aufrufen:

  • n : Ganzzahl, die Anzahl der angegebenen Ereignisse

getMaxListeners

Holen Sie sich die Standardbegrenzung für Listener, nur aus Kompatibilitätsgründen

1
Integer WebView.getMaxListeners();

Gibt das Ergebnis zurück:

  • Integer , gibt die Standardgrenzwertnummer zurück

listeners

Das Listener-Array für das angegebene Ereignis des Abfrageobjekts

1
Array WebView.listeners(String ev);

Parameter aufrufen:

  • ev : String, der Name des angegebenen Ereignisses

Gibt das Ergebnis zurück:

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

listenerCount

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

1
Integer WebView.listenerCount(String ev);

Parameter aufrufen:

  • ev : String, der Name des angegebenen Ereignisses

Gibt das Ergebnis zurück:

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

eventNames

Abfragen des Listener-Ereignisnamens

1
Array WebView.eventNames();

Gibt das Ergebnis zurück:

  • Array , gibt ein Array von Ereignisnamen zurück

emit

Ereignis aktiv auslösen

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

Parameter aufrufen:

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

Gibt das Ergebnis zurück:

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

toString

Gibt eine Zeichenfolgendarstellung des Objekts zurück, normalerweise "[Native Object]". Objekte können gemäß ihren eigenen Merkmalen neu implementiert werden

1
String WebView.toString();

Gibt das Ergebnis zurück:

  • String , gibt eine String-Darstellung des Objekts zurück

toJSON

Gibt eine JSON-Darstellung des Objekts zurück, die normalerweise eine Sammlung lesbarer Eigenschaften zurückgibt, die vom Objekt definiert wurden

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

Parameter aufrufen:

  • key : String, unbenutzt

Gibt das Ergebnis zurück:

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