Object-ingebouwd object

ObjectWebView

browservensterobject

WebView is een venstercomponent die is ingebed in de browser. Momenteel ondersteunt het alleen Windows en macOS (10.10+). Het gebruikt de IE/Edge-kernel in Windows en WKWebView in macOS.

Omdat het JavaScript-programma in WebView en fibjs niet in dezelfde engine zitten, moet u, als u met het hostprogramma moet communiceren, dit doen via berichten.

Het object dat door WebView wordt gebruikt voor communicatie is extern. External ondersteunt één methode postMessage en twee gebeurtenissen onmessage en onclose.

Een eenvoudige communicatievoorbeeldcode is als volgt:

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

De inhoud van index.html is als volgt:

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

Voordat het gebruikersvenster wordt gesloten, wordt de gebeurtenis external.onclose geactiveerd en kan external.onclose beslissen of deze wordt gesloten. Als external.onclose false retourneert, wordt de bewerking geannuleerd, anders wordt het venster gesloten.

In het volgende voorbeeld wacht u vijf seconden nadat de gebruiker op Sluiten heeft geklikt voordat het venster wordt gesloten.

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>

Omdat window.close zelf ook de onclose-gebeurtenis activeert, moet in de bovenstaande code een switch-variabele worden toegevoegd om aan te geven of deze gebeurtenis moet worden verwerkt.

erfenis relatie

statische eigenschappen

defaultMaxListeners

Geheel getal, het standaard globale maximale aantal luisteraars

1
static Integer WebView.defaultMaxListeners;

eigenschappen van leden

onopen

Succesgebeurtenis voor het laden van functies, query's en bindingen, gelijk aan on("open", func);

1
Function WebView.onopen;

onload

Functie, query en binding bij het laden van succesgebeurtenissen, gelijk aan on("load", func);

1
Function WebView.onload;

onaddress

Functie-, query- en bind-pagina-adreswijzigingsgebeurtenissen, gelijk aan on("address", func);

1
Function WebView.onaddress;

ontitle

Functie-, query- en bind-paginatitelwijzigingsgebeurtenissen, gelijk aan on("title", func);

1
Function WebView.ontitle;

onmove

Functie-, query- en bind-vensterbewegingsgebeurtenissen, gelijk aan on("move", func);

1
Function WebView.onmove;

In het volgende voorbeeld worden de coördinaten van de linkerbovenhoek van het venster weergegeven terwijl het beweegt:

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

Functie, query's en bindt venstergroottewijzigingsgebeurtenissen, equivalent aan on("size", func);

1
Function WebView.onresize;

In het volgende voorbeeld worden de afmetingen van een venster weergegeven wanneer het formaat ervan wordt gewijzigd:

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

Functie, query uitvoeren en binden van de gebeurtenis voor het sluiten van het venster. Deze tijd wordt geactiveerd nadat de WebView is gesloten, wat gelijk is aan on("closed", func);

1
Function WebView.onclosed;

onmessage

Functie, query en binding accepteren postMessage-berichtgebeurtenissen in webview, gelijk aan on("message", func);

1
Function WebView.onmessage;

ondownload

Functie, query en binding accepteren statusveranderingsgebeurtenissen van downloadtransacties in webview, equivalent aan on("download", func);

1
Function WebView.ondownload;

lid functie

loadUrl

belasting opgegevenurlde pagina

1
WebView.loadUrl(String url) async;

Oproepparameters:

  • url: Tekenreeks, gespecificeerdurl

getUrl

Vraag de huidige pagina opurl

1
String WebView.getUrl() async;

Resultaten retourneren:

  • String, retourneert de huidige paginaurl

setHtml

Stel de pagina-html van webview in

1
WebView.setHtml(String html) async;

Oproepparameters:

  • html: String, stel html in

reload

Ververs huidige pagina

1
WebView.reload() async;

goBack

Terugkeren naar de vorige pagina

1
WebView.goBack() async;

goForward

Ga naar de volgende pagina

1
WebView.goForward() async;

print

Druk het huidige vensterdocument af

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

Oproepparameters:

  • mode: geheel getal, afdrukparameters, 0: snel afdrukken; 1: standaard afdrukken; 2: afdrukvoorbeeld. Standaard is 1

executeJavaScript

Voer een stukje JavaScript-code uit in het huidige venster

1
WebView.executeJavaScript(String code) async;

Oproepparameters:

  • code: String, specificeert de JavaScript-code die moet worden uitgevoerd

close

Sluit huidige venster

1
WebView.close() async;

postMessage

Stuur een bericht naar webview

1
WebView.postMessage(String msg) async;

Oproepparameters:

  • msg: String, het bericht dat moet worden verzonden

    postMessage moet het bericht verzenden nadat het venster is geladen, en de eerder verzonden berichten gaan verloren. Daarom wordt aanbevolen om deze methode aan te roepen nadat de onload-gebeurtenis is geactiveerd.


on

Bind een gebeurtenishandler aan het object

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

Oproepparameters:

  • ev: String, specificeert de naam van de gebeurtenis
  • func: Functie, specificeer de gebeurtenisverwerkingsfunctie

Resultaten retourneren:

  • Object, retourneert het gebeurtenisobject zelf om kettingoproepen te vergemakkelijken

Bind een gebeurtenishandler aan het object

1
Object WebView.on(Object map);

Oproepparameters:

  • map: Object, specificeert de gebeurtenistoewijzingsrelatie, de objectattribuutnaam wordt gebruikt als de gebeurtenisnaam en de waarde van het attribuut wordt gebruikt als de gebeurtenisverwerkingsfunctie

Resultaten retourneren:

  • Object, retourneert het gebeurtenisobject zelf om kettingoproepen te vergemakkelijken

addListener

Bind een gebeurtenishandler aan het object

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

Oproepparameters:

  • ev: String, specificeert de naam van de gebeurtenis
  • func: Functie, specificeer de gebeurtenisverwerkingsfunctie

Resultaten retourneren:

  • Object, retourneert het gebeurtenisobject zelf om kettingoproepen te vergemakkelijken

Bind een gebeurtenishandler aan het object

1
Object WebView.addListener(Object map);

Oproepparameters:

  • map: Object, specificeert de gebeurtenistoewijzingsrelatie, de objectattribuutnaam wordt gebruikt als de gebeurtenisnaam en de waarde van het attribuut wordt gebruikt als de gebeurtenisverwerkingsfunctie

Resultaten retourneren:

  • Object, retourneert het gebeurtenisobject zelf om kettingoproepen te vergemakkelijken

prependListener

Bind een gebeurtenishandler aan de oorsprong van het object

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

Oproepparameters:

  • ev: String, specificeert de naam van de gebeurtenis
  • func: Functie, specificeer de gebeurtenisverwerkingsfunctie

Resultaten retourneren:

  • Object, retourneert het gebeurtenisobject zelf om kettingoproepen te vergemakkelijken

Bind een gebeurtenishandler aan de oorsprong van het object

1
Object WebView.prependListener(Object map);

Oproepparameters:

  • map: Object, specificeert de gebeurtenistoewijzingsrelatie, de objectattribuutnaam wordt gebruikt als de gebeurtenisnaam en de waarde van het attribuut wordt gebruikt als de gebeurtenisverwerkingsfunctie

Resultaten retourneren:

  • Object, retourneert het gebeurtenisobject zelf om kettingoproepen te vergemakkelijken

once

Bind een eenmalige gebeurtenishandler aan het object. De eenmalige gebeurtenishandler wordt slechts één keer geactiveerd.

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

Oproepparameters:

  • ev: String, specificeert de naam van de gebeurtenis
  • func: Functie, specificeer de gebeurtenisverwerkingsfunctie

Resultaten retourneren:

  • Object, retourneert het gebeurtenisobject zelf om kettingoproepen te vergemakkelijken

Bind een eenmalige gebeurtenishandler aan het object. De eenmalige gebeurtenishandler wordt slechts één keer geactiveerd.

1
Object WebView.once(Object map);

Oproepparameters:

  • map: Object, specificeert de gebeurtenistoewijzingsrelatie, de objectattribuutnaam wordt gebruikt als de gebeurtenisnaam en de waarde van het attribuut wordt gebruikt als de gebeurtenisverwerkingsfunctie

Resultaten retourneren:

  • Object, retourneert het gebeurtenisobject zelf om kettingoproepen te vergemakkelijken

prependOnceListener

Bind een gebeurtenishandler aan de oorsprong van het object

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

Oproepparameters:

  • ev: String, specificeert de naam van de gebeurtenis
  • func: Functie, specificeer de gebeurtenisverwerkingsfunctie

Resultaten retourneren:

  • Object, retourneert het gebeurtenisobject zelf om kettingoproepen te vergemakkelijken

Bind een gebeurtenishandler aan de oorsprong van het object

1
Object WebView.prependOnceListener(Object map);

Oproepparameters:

  • map: Object, specificeert de gebeurtenistoewijzingsrelatie, de objectattribuutnaam wordt gebruikt als de gebeurtenisnaam en de waarde van het attribuut wordt gebruikt als de gebeurtenisverwerkingsfunctie

Resultaten retourneren:

  • Object, retourneert het gebeurtenisobject zelf om kettingoproepen te vergemakkelijken

off

De toewijzing van een functie uit de objectverwerkingswachtrij ongedaan maken

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

Oproepparameters:

  • ev: String, specificeert de naam van de gebeurtenis
  • func: Functie, specificeer de gebeurtenisverwerkingsfunctie

Resultaten retourneren:

  • Object, retourneert het gebeurtenisobject zelf om kettingoproepen te vergemakkelijken

Annuleer alle functies in de wachtrij voor objectverwerking

1
Object WebView.off(String ev);

Oproepparameters:

  • ev: String, specificeert de naam van de gebeurtenis

Resultaten retourneren:

  • Object, retourneert het gebeurtenisobject zelf om kettingoproepen te vergemakkelijken

De toewijzing van een functie uit de objectverwerkingswachtrij ongedaan maken

1
Object WebView.off(Object map);

Oproepparameters:

  • map: Object, specificeert de gebeurtenistoewijzingsrelatie, de objectattribuutnaam wordt gebruikt als de gebeurtenisnaam en de waarde van het attribuut wordt gebruikt als de gebeurtenisverwerkingsfunctie

Resultaten retourneren:

  • Object, retourneert het gebeurtenisobject zelf om kettingoproepen te vergemakkelijken

removeListener

De toewijzing van een functie uit de objectverwerkingswachtrij ongedaan maken

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

Oproepparameters:

  • ev: String, specificeert de naam van de gebeurtenis
  • func: Functie, specificeer de gebeurtenisverwerkingsfunctie

Resultaten retourneren:

  • Object, retourneert het gebeurtenisobject zelf om kettingoproepen te vergemakkelijken

Annuleer alle functies in de wachtrij voor objectverwerking

1
Object WebView.removeListener(String ev);

Oproepparameters:

  • ev: String, specificeert de naam van de gebeurtenis

Resultaten retourneren:

  • Object, retourneert het gebeurtenisobject zelf om kettingoproepen te vergemakkelijken

De toewijzing van een functie uit de objectverwerkingswachtrij ongedaan maken

1
Object WebView.removeListener(Object map);

Oproepparameters:

  • map: Object, specificeert de gebeurtenistoewijzingsrelatie, de objectattribuutnaam wordt gebruikt als de gebeurtenisnaam en de waarde van het attribuut wordt gebruikt als de gebeurtenisverwerkingsfunctie

Resultaten retourneren:

  • Object, retourneert het gebeurtenisobject zelf om kettingoproepen te vergemakkelijken

removeAllListeners

Annuleert alle luisteraars voor alle gebeurtenissen uit de verwerkingswachtrij van het object. Als er een gebeurtenis is opgegeven, worden alle luisteraars voor de opgegeven gebeurtenis verwijderd.

1
Object WebView.removeAllListeners(String ev);

Oproepparameters:

  • ev: String, specificeert de naam van de gebeurtenis

Resultaten retourneren:

  • Object, retourneert het gebeurtenisobject zelf om kettingoproepen te vergemakkelijken

Annuleert alle luisteraars voor alle gebeurtenissen uit de verwerkingswachtrij van het object. Als er een gebeurtenis is opgegeven, worden alle luisteraars voor de opgegeven gebeurtenis verwijderd.

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

Oproepparameters:

  • evs: Array, geef de naam van de gebeurtenis op

Resultaten retourneren:

  • Object, retourneert het gebeurtenisobject zelf om kettingoproepen te vergemakkelijken

setMaxListeners

De standaardlimiet voor het aantal luisteraars, alleen voor compatibiliteit

1
WebView.setMaxListeners(Integer n);

Oproepparameters:

  • n: geheel getal, geef het aantal gebeurtenissen op

getMaxListeners

Krijgt het standaardlimietaantal luisteraars, alleen voor compatibiliteit

1
Integer WebView.getMaxListeners();

Resultaten retourneren:

  • Integer, retourneert de standaardlimiethoeveelheid

listeners

Voer een query uit op de luisteraararray voor de opgegeven gebeurtenis van het object

1
Array WebView.listeners(String ev);

Oproepparameters:

  • ev: String, specificeert de naam van de gebeurtenis

Resultaten retourneren:

  • Array, retourneert de luisteraararray voor de opgegeven gebeurtenis

listenerCount

Vraag het aantal luisteraars op voor de opgegeven gebeurtenis van het object

1
Integer WebView.listenerCount(String ev);

Oproepparameters:

  • ev: String, specificeert de naam van de gebeurtenis

Resultaten retourneren:

  • Integer, retourneert het aantal luisteraars voor de opgegeven gebeurtenis

Vraag het aantal luisteraars op voor de opgegeven gebeurtenis van het object

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

Oproepparameters:

  • o: Waarde, specificeert het object van de query
  • ev: String, specificeert de naam van de gebeurtenis

Resultaten retourneren:

  • Integer, retourneert het aantal luisteraars voor de opgegeven gebeurtenis

eventNames

Naam van query-listenergebeurtenis

1
Array WebView.eventNames();

Resultaten retourneren:

  • Array, retourneert een array met gebeurtenisnamen

emit

Activeer actief een gebeurtenis

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

Oproepparameters:

  • ev: String, gebeurtenisnaam
  • args: ..., gebeurtenisparameters worden doorgegeven aan de gebeurtenisverwerkingsfunctie

Resultaten retourneren:

  • Boolean, retourneert de gebeurtenistriggerstatus, retourneert waar als er een responsgebeurtenis is, retourneert anders false

toString

Retourneert de tekenreeksweergave van het object. Over het algemeen wordt '[Native Object]' geretourneerd. Het object kan opnieuw worden geïmplementeerd op basis van zijn eigen kenmerken.

1
String WebView.toString();

Resultaten retourneren:

  • String, retourneert de tekenreeksrepresentatie van het object

toJSON

Retourneert een weergave in JSON-indeling van het object, waarbij doorgaans een verzameling leesbare eigenschappen wordt geretourneerd die door het object zijn gedefinieerd.

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

Oproepparameters:

  • key: Tekenreeks, niet gebruikt

Resultaten retourneren:

  • Value, retourneert een waarde die JSON-serialiseerbaar bevat