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
1static Integer WebView.defaultMaxListeners;
eigenschappen van leden
onopen
Succesgebeurtenis voor het laden van functies, query's en bindingen, gelijk aan on("open", func);
1Function WebView.onopen;
onload
Functie, query en binding bij het laden van succesgebeurtenissen, gelijk aan on("load", func);
1Function WebView.onload;
onaddress
Functie-, query- en bind-pagina-adreswijzigingsgebeurtenissen, gelijk aan on("address", func);
1Function WebView.onaddress;
ontitle
Functie-, query- en bind-paginatitelwijzigingsgebeurtenissen, gelijk aan on("title", func);
1Function WebView.ontitle;
onmove
Functie-, query- en bind-vensterbewegingsgebeurtenissen, gelijk aan on("move", func);
1Function WebView.onmove;
In het volgende voorbeeld worden de coördinaten van de linkerbovenhoek van het venster weergegeven terwijl het beweegt:
1
2
3
4var 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);
1Function WebView.onresize;
In het volgende voorbeeld worden de afmetingen van een venster weergegeven wanneer het formaat ervan wordt gewijzigd:
1
2
3
4var 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);
1Function WebView.onclosed;
onmessage
Functie, query en binding accepteren postMessage-berichtgebeurtenissen in webview, gelijk aan on("message", func);
1Function WebView.onmessage;
ondownload
Functie, query en binding accepteren statusveranderingsgebeurtenissen van downloadtransacties in webview, equivalent aan on("download", func);
1Function WebView.ondownload;
lid functie
loadUrl
belasting opgegevenurlde pagina
1WebView.loadUrl(String url) async;
Oproepparameters:
- url: Tekenreeks, gespecificeerdurl
getUrl
Vraag de huidige pagina opurl
1String WebView.getUrl() async;
Resultaten retourneren:
- String, retourneert de huidige paginaurl
setHtml
Stel de pagina-html van webview in
1WebView.setHtml(String html) async;
Oproepparameters:
- html: String, stel html in
reload
Ververs huidige pagina
1WebView.reload() async;
goBack
Terugkeren naar de vorige pagina
1WebView.goBack() async;
goForward
Ga naar de volgende pagina
1WebView.goForward() async;
Druk het huidige vensterdocument af
1WebView.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
1WebView.executeJavaScript(String code) async;
Oproepparameters:
- code: String, specificeert de JavaScript-code die moet worden uitgevoerd
close
Sluit huidige venster
1WebView.close() async;
postMessage
Stuur een bericht naar webview
1WebView.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
2Object 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
1Object 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
2Object 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
1Object 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
2Object 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
1Object 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
2Object 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.
1Object 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
2Object 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
1Object 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
2Object 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
1Object 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
1Object 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
2Object 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
1Object 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
1Object 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.
1Object 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.
1Object 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
1WebView.setMaxListeners(Integer n);
Oproepparameters:
- n: geheel getal, geef het aantal gebeurtenissen op
getMaxListeners
Krijgt het standaardlimietaantal luisteraars, alleen voor compatibiliteit
1Integer WebView.getMaxListeners();
Resultaten retourneren:
- Integer, retourneert de standaardlimiethoeveelheid
listeners
Voer een query uit op de luisteraararray voor de opgegeven gebeurtenis van het object
1Array 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
1Integer 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
2Integer 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
1Array WebView.eventNames();
Resultaten retourneren:
- Array, retourneert een array met gebeurtenisnamen
emit
Activeer actief een gebeurtenis
1
2Boolean 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.
1String 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.
1Value WebView.toJSON(String key = "");
Oproepparameters:
- key: Tekenreeks, niet gebruikt
Resultaten retourneren:
- Value, retourneert een waarde die JSON-serialiseerbaar bevat