ObjectWebView
objecte finestra del navegador
WebView és un component de finestra incrustat al navegador. Actualment només admet Windows i macOS (10.10+). Utilitza el nucli IE/Edge a Windows i WKWebView a macOS.
Com que el programa JavaScript a WebView i fibjs no estan al mateix motor, si us heu de comunicar amb el programa amfitrió, ho heu de fer mitjançant missatges.
L'objecte utilitzat per a la comunicació per WebView és extern. Extern admet un mètode postMessage i dos esdeveniments onmessage i onclose.
Un exemple de codi de comunicació senzill és el següent:
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();
El contingut d'index.html és el següent:
1
2
3
4
5
6
7
8<script>
external.onclose = function() {
}
external.onmessage = function(msg){
external.postMessage("send back: " + msg);
};
</script>
Abans que es tanqui la finestra de l'usuari, s'activarà l'esdeveniment external.onclose i external.onclose pot decidir si el tanca. Si external.onclose retorna false, l'operació es cancel·la, en cas contrari la finestra es tancarà.
L'exemple següent esperarà 5 segons després que l'usuari faci clic a Tanca abans de tancar la finestra.
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>
Al codi anterior, com que window.close també activarà l'esdeveniment onclose, cal afegir una variable de commutació per identificar si aquest esdeveniment s'ha de processar.
relació hereditària
propietats estàtiques
defaultMaxListeners
Enter, el nombre màxim global predeterminat d'oients
1static Integer WebView.defaultMaxListeners;
propietats dels membres
onopen
Esdeveniment d'èxit de càrrega de funció, consulta i vinculació, equivalent a on("open", func);
1Function WebView.onopen;
onload
Esdeveniments d'èxit de càrrega de funcions, consulta i vinculació, equivalent a on("load", func);
1Function WebView.onload;
onaddress
Esdeveniments de canvi de funció, consulta i enllaç d'adreça de pàgina, equivalent a on("adreça", func);
1Function WebView.onaddress;
ontitle
Esdeveniments de canvi de funció, consulta i vinculació del títol de la pàgina, equivalent a on("títol", func);
1Function WebView.ontitle;
onmove
Esdeveniments de moviment de la finestra de funció, consulta i vinculació, equivalent a on("move", func);
1Function WebView.onmove;
L'exemple següent mostra les coordenades de la cantonada superior esquerra de la finestra a mesura que es mou:
1
2
3
4var gui = require('gui');
var webview = gui.open('fs://index.html');
webview.onmove = evt => console.log(evt.left, evt.top);
onresize
Funció, consultes i enllaços esdeveniments de canvi de mida de la finestra, equivalent a on("mida", func);
1Function WebView.onresize;
L'exemple següent mostra les dimensions d'una finestra quan es redimensiona:
1
2
3
4var gui = require('gui');
var webview = gui.open('fs://index.html');
webview.onresize = evt => console.log(evt.width, evt.height);
onclosed
Funciona, consulta i vincula l'esdeveniment de tancament de la finestra. Aquest temps s'activarà després de tancar la WebView, que és equivalent a on("tancat", func);
1Function WebView.onclosed;
onmessage
La funció, la consulta i l'enllaç accepten esdeveniments de missatge postMessage a la vista web, equivalent a on("missatge", func);
1Function WebView.onmessage;
ondownload
Funció, consulta i vinculació accepten esdeveniments de canvi d'estat de transacció de descàrrega a la vista web, equivalent a on("descarrega", func);
1Function WebView.ondownload;
funció de membre
loadUrl
càrrega especificadaurlla pàgina
1WebView.loadUrl(String url) async;
Paràmetres de trucada:
- url: Cadena, especificadaurl
getUrl
Consulta la pàgina actualurl
1String WebView.getUrl() async;
Resultats de retorn:
- String, retorna la pàgina actualurl
setHtml
Estableix l'html de pàgina de la vista web
1WebView.setHtml(String html) async;
Paràmetres de trucada:
- html: Cadena, estableix html
reload
Actualitza la pàgina actual
1WebView.reload() async;
goBack
Torna a la pàgina anterior
1WebView.goBack() async;
goForward
Aneu a la pàgina següent
1WebView.goForward() async;
Imprimeix el document de la finestra actual
1WebView.print(Integer mode = 1) async;
Paràmetres de trucada:
- mode: Sencer, paràmetres d'impressió, 0: impressió ràpida; 1: impressió estàndard; 2: vista prèvia d'impressió. El valor per defecte és 1
executeJavaScript
Executeu un fragment de codi JavaScript a la finestra actual
1WebView.executeJavaScript(String code) async;
Paràmetres de trucada:
- code: String, especifica el codi JavaScript que s'ha d'executar
close
Tanca la finestra actual
1WebView.close() async;
postMessage
Envia el missatge a la vista web
1WebView.postMessage(String msg) async;
Paràmetres de trucada:
msg: String, el missatge a enviar
postMessage ha d'enviar el missatge després de carregar la finestra i els missatges enviats abans es perdran. Per tant, es recomana cridar aquest mètode després que s'hagi activat l'esdeveniment onload.
on
Enllaceu un controlador d'esdeveniments a l'objecte
1
2Object WebView.on(String ev,
Function func);
Paràmetres de trucada:
- ev: Cadena, especifica el nom de l'esdeveniment
- func: Funció, especifiqueu la funció de processament d'esdeveniments
Resultats de retorn:
- Object, retorna el propi objecte d'esdeveniment per facilitar les trucades en cadena
Enllaceu un controlador d'esdeveniments a l'objecte
1Object WebView.on(Object map);
Paràmetres de trucada:
- map: Objecte, especifica la relació de mapatge d'esdeveniments, el nom de l'atribut de l'objecte s'utilitzarà com a nom de l'esdeveniment i el valor de l'atribut s'utilitzarà com a funció de processament d'esdeveniments
Resultats de retorn:
- Object, retorna el propi objecte d'esdeveniment per facilitar les trucades en cadena
addListener
Enllaceu un controlador d'esdeveniments a l'objecte
1
2Object WebView.addListener(String ev,
Function func);
Paràmetres de trucada:
- ev: Cadena, especifica el nom de l'esdeveniment
- func: Funció, especifiqueu la funció de processament d'esdeveniments
Resultats de retorn:
- Object, retorna el propi objecte d'esdeveniment per facilitar les trucades en cadena
Enllaceu un controlador d'esdeveniments a l'objecte
1Object WebView.addListener(Object map);
Paràmetres de trucada:
- map: Objecte, especifica la relació de mapatge d'esdeveniments, el nom de l'atribut de l'objecte s'utilitzarà com a nom de l'esdeveniment i el valor de l'atribut s'utilitzarà com a funció de processament d'esdeveniments
Resultats de retorn:
- Object, retorna el propi objecte d'esdeveniment per facilitar les trucades en cadena
prependListener
Enllaceu un controlador d'esdeveniments a l'origen de l'objecte
1
2Object WebView.prependListener(String ev,
Function func);
Paràmetres de trucada:
- ev: Cadena, especifica el nom de l'esdeveniment
- func: Funció, especifiqueu la funció de processament d'esdeveniments
Resultats de retorn:
- Object, retorna el propi objecte d'esdeveniment per facilitar les trucades en cadena
Enllaceu un controlador d'esdeveniments a l'origen de l'objecte
1Object WebView.prependListener(Object map);
Paràmetres de trucada:
- map: Objecte, especifica la relació de mapatge d'esdeveniments, el nom de l'atribut de l'objecte s'utilitzarà com a nom de l'esdeveniment i el valor de l'atribut s'utilitzarà com a funció de processament d'esdeveniments
Resultats de retorn:
- Object, retorna el propi objecte d'esdeveniment per facilitar les trucades en cadena
once
Enllaça un controlador d'esdeveniments únic a l'objecte. El controlador únic només s'activarà una vegada.
1
2Object WebView.once(String ev,
Function func);
Paràmetres de trucada:
- ev: Cadena, especifica el nom de l'esdeveniment
- func: Funció, especifiqueu la funció de processament d'esdeveniments
Resultats de retorn:
- Object, retorna el propi objecte d'esdeveniment per facilitar les trucades en cadena
Enllaça un controlador d'esdeveniments únic a l'objecte. El controlador únic només s'activarà una vegada.
1Object WebView.once(Object map);
Paràmetres de trucada:
- map: Objecte, especifica la relació de mapatge d'esdeveniments, el nom de l'atribut de l'objecte s'utilitzarà com a nom de l'esdeveniment i el valor de l'atribut s'utilitzarà com a funció de processament d'esdeveniments
Resultats de retorn:
- Object, retorna el propi objecte d'esdeveniment per facilitar les trucades en cadena
prependOnceListener
Enllaceu un controlador d'esdeveniments a l'origen de l'objecte
1
2Object WebView.prependOnceListener(String ev,
Function func);
Paràmetres de trucada:
- ev: Cadena, especifica el nom de l'esdeveniment
- func: Funció, especifiqueu la funció de processament d'esdeveniments
Resultats de retorn:
- Object, retorna el propi objecte d'esdeveniment per facilitar les trucades en cadena
Enllaceu un controlador d'esdeveniments a l'origen de l'objecte
1Object WebView.prependOnceListener(Object map);
Paràmetres de trucada:
- map: Objecte, especifica la relació de mapatge d'esdeveniments, el nom de l'atribut de l'objecte s'utilitzarà com a nom de l'esdeveniment i el valor de l'atribut s'utilitzarà com a funció de processament d'esdeveniments
Resultats de retorn:
- Object, retorna el propi objecte d'esdeveniment per facilitar les trucades en cadena
off
Desassignar una funció de la cua de processament d'objectes
1
2Object WebView.off(String ev,
Function func);
Paràmetres de trucada:
- ev: Cadena, especifica el nom de l'esdeveniment
- func: Funció, especifiqueu la funció de processament d'esdeveniments
Resultats de retorn:
- Object, retorna el propi objecte d'esdeveniment per facilitar les trucades en cadena
Cancel·la totes les funcions de la cua de processament d'objectes
1Object WebView.off(String ev);
Paràmetres de trucada:
- ev: Cadena, especifica el nom de l'esdeveniment
Resultats de retorn:
- Object, retorna el propi objecte d'esdeveniment per facilitar les trucades en cadena
Desassignar una funció de la cua de processament d'objectes
1Object WebView.off(Object map);
Paràmetres de trucada:
- map: Objecte, especifica la relació de mapatge d'esdeveniments, el nom de l'atribut de l'objecte s'utilitza com a nom de l'esdeveniment i el valor de l'atribut s'utilitza com a funció de processament d'esdeveniments
Resultats de retorn:
- Object, retorna el propi objecte d'esdeveniment per facilitar les trucades en cadena
removeListener
Desassignar una funció de la cua de processament d'objectes
1
2Object WebView.removeListener(String ev,
Function func);
Paràmetres de trucada:
- ev: Cadena, especifica el nom de l'esdeveniment
- func: Funció, especifiqueu la funció de processament d'esdeveniments
Resultats de retorn:
- Object, retorna el propi objecte d'esdeveniment per facilitar les trucades en cadena
Cancel·la totes les funcions de la cua de processament d'objectes
1Object WebView.removeListener(String ev);
Paràmetres de trucada:
- ev: Cadena, especifica el nom de l'esdeveniment
Resultats de retorn:
- Object, retorna el propi objecte d'esdeveniment per facilitar les trucades en cadena
Desassignar una funció de la cua de processament d'objectes
1Object WebView.removeListener(Object map);
Paràmetres de trucada:
- map: Objecte, especifica la relació de mapatge d'esdeveniments, el nom de l'atribut de l'objecte s'utilitza com a nom de l'esdeveniment i el valor de l'atribut s'utilitza com a funció de processament d'esdeveniments
Resultats de retorn:
- Object, retorna el propi objecte d'esdeveniment per facilitar les trucades en cadena
removeAllListeners
Cancel·la tots els oients de tots els esdeveniments de la cua de processament de l'objecte. Si s'especifica un esdeveniment, elimina tots els oients de l'esdeveniment especificat.
1Object WebView.removeAllListeners(String ev);
Paràmetres de trucada:
- ev: Cadena, especifica el nom de l'esdeveniment
Resultats de retorn:
- Object, retorna el propi objecte d'esdeveniment per facilitar les trucades en cadena
Cancel·la tots els oients de tots els esdeveniments de la cua de processament de l'objecte. Si s'especifica un esdeveniment, elimina tots els oients de l'esdeveniment especificat.
1Object WebView.removeAllListeners(Array evs = []);
Paràmetres de trucada:
- evs: Matriu, especifiqueu el nom de l'esdeveniment
Resultats de retorn:
- Object, retorna el propi objecte d'esdeveniment per facilitar les trucades en cadena
setMaxListeners
El límit predeterminat del nombre d'oients, només per compatibilitat
1WebView.setMaxListeners(Integer n);
Paràmetres de trucada:
- n: Enter, especifiqueu el nombre d'esdeveniments
getMaxListeners
Obté el nombre límit predeterminat d'oients, només per compatibilitat
1Integer WebView.getMaxListeners();
Resultats de retorn:
- Integer, retorna la quantitat límit predeterminada
listeners
Consulteu la matriu d'escolta per a l'esdeveniment especificat de l'objecte
1Array WebView.listeners(String ev);
Paràmetres de trucada:
- ev: Cadena, especifica el nom de l'esdeveniment
Resultats de retorn:
- Array, retorna la matriu d'escolta per a l'esdeveniment especificat
listenerCount
Consulteu el nombre d'oients per a l'esdeveniment especificat de l'objecte
1Integer WebView.listenerCount(String ev);
Paràmetres de trucada:
- ev: Cadena, especifica el nom de l'esdeveniment
Resultats de retorn:
- Integer, retorna el nombre d'oients per a l'esdeveniment especificat
Consulteu el nombre d'oients per a l'esdeveniment especificat de l'objecte
1
2Integer WebView.listenerCount(Value o,
String ev);
Paràmetres de trucada:
- o: Valor, especifica l'objecte de la consulta
- ev: Cadena, especifica el nom de l'esdeveniment
Resultats de retorn:
- Integer, retorna el nombre d'oients per a l'esdeveniment especificat
eventNames
Consulta el nom de l'esdeveniment de l'oient
1Array WebView.eventNames();
Resultats de retorn:
- Array, retorna una matriu de noms d'esdeveniments
emit
Activa activament un esdeveniment
1
2Boolean WebView.emit(String ev,
...args);
Paràmetres de trucada:
- ev: cadena, nom de l'esdeveniment
- args: ..., els paràmetres d'esdeveniment es passaran a la funció de processament d'esdeveniments
Resultats de retorn:
- Boolean, retorna l'estat de l'activador de l'esdeveniment, retorna true si hi ha un esdeveniment de resposta, en cas contrari retorna false
toString
Retorna la representació de cadena de l'objecte. En general, es retorna "[Objecte natiu]". L'objecte es pot tornar a implementar segons les seves pròpies característiques.
1String WebView.toString();
Resultats de retorn:
- String, retorna la representació de cadena de l'objecte
toJSON
Retorna una representació en format JSON de l'objecte, generalment retornant una col·lecció de propietats llegibles definides per l'objecte.
1Value WebView.toJSON(String key = "");
Paràmetres de trucada:
- key: Corda, no utilitzada
Resultats de retorn:
- Value, retorna un valor que conté JSON serializable