Oggetto oggetto incorporato

Oggetto WebView

Oggetto finestra del browser

WebView è un componente della finestra incorporato nel browser, attualmente supporta solo Windows, macOS (10.10+).Utilizzare il kernel IE/Edge in Windows, utilizzare WKWebView in macOS.

Poiché il programma JavaScript in WebView e fibjs non sono nello stesso motore, se è necessario comunicare con il programma host, è necessario utilizzare i messaggi.

L'oggetto utilizzato da WebView per la comunicazione è esterno, che supporta un metodo postMessage e due eventi onmessage e onclose.

Un semplice codice di esempio di comunicazione è il seguente:

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

Il contenuto di index.html è il seguente:

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

Prima che la finestra utente venga chiusa, verrà attivato l'evento external.onclose e external.onclose può decidere se chiuderlo. Se external.onclose restituisce false, l'operazione viene annullata, altrimenti la finestra verrà chiusa.

L'esempio seguente attenderà 5 secondi dopo che l'utente ha fatto clic per chiudere e quindi chiudere 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>

Nel codice precedente, poiché window.close stesso attiva anche l'evento onclose, è necessario aggiungere una variabile switch per identificare se l'evento deve essere elaborato.

Eredità

#lineWidth: 1.5 #font: Helvetica,sans-Serif #fontSize: 10 #leading: 1.6 #.this: fill=lightgray #.class: fill=white [<class>object|toString();toJSON()] [<class>EventEmitter|new EventEmitter()|EventEmitter|defaultMaxListeners|on();addListener();prependListener();once();prependOnceListener();off();removeListener();removeAllListeners();setMaxListeners();getMaxListeners();listeners();listenerCount();eventNames();emit()] [<this>WebView|type;dev;onopen;onload;onaddress;ontitle;onmove;onresize;onclosed;onmessage|loadUrl();getUrl();setHtml();reload();goBack();goForward();print();printToPDF();executeJavaScript();executeDevToolsMethod();close();postMessage()] [object] <:- [EventEmitter] [EventEmitter] <:- [WebView] EventEmitter new EventEmitter() EventEmitter defaultMaxListeners on() addListener() prependListener() once() prependOnceListener() off() removeListener() removeAllListeners() setMaxListeners() getMaxListeners() listeners() listenerCount() eventNames() emit() WebView type dev onopen onload onaddress ontitle onmove onresize onclosed onmessage loadUrl() getUrl() setHtml() reload() goBack() goForward() print() printToPDF() executeJavaScript() executeDevToolsMethod() close() postMessage() object toString() toJSON()

Proprietà statiche

defaultMaxListeners

Intero, il numero massimo globale predefinito di ascoltatori

1
static Integer WebView.defaultMaxListeners;

Attributi dei membri

type

String, il motore WebView della finestra corrente

1
readonly String WebView.type;

dev

Valore, oggetto di accesso DevTools, fare riferimento all'interfaccia chiamante: https://chromedevtools.github.io/devtools-protocol/

1
readonly Value WebView.dev;

onopen

Evento di successo del caricamento di funzioni, query e bind, equivalente a on("open", func);

1
Function WebView.onopen;

onload

Evento di successo del caricamento di funzioni, query e bind, equivalente a on("load", func);

1
Function WebView.onload;

onaddress

Funzione, interrogazione e associazione dell'evento di modifica dell'indirizzo della pagina, equivalente a on("address", func);

1
Function WebView.onaddress;

ontitle

Funzione, interrogazione e associazione dell'evento di modifica del titolo della pagina, equivalente a on("title", func);

1
Function WebView.ontitle;

onmove

Funzione, interrogazione e associazione degli eventi di spostamento della finestra, equivalente a on("move", func);

1
Function WebView.onmove;

L'esempio seguente restituirà le coordinate dell'angolo in alto a sinistra della finestra quando la finestra viene spostata:

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

Evento di modifica della dimensione della finestra di funzione, query e associazione, equivalente a on("size", func);

1
Function WebView.onresize;

L'esempio seguente restituirà la dimensione della finestra quando la finestra viene ridimensionata:

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

Funzione, query e evento di chiusura della finestra di associazione, questa volta verrà attivato dopo la chiusura di WebView, che è equivalente a on ("chiuso", func);

1
Function WebView.onclosed;

onmessage

Funzione, interrogazione e associazione per accettare l'evento postMessage in webview, equivalente a on("message", func);

1
Function WebView.onmessage;

Funzione membro

loadUrl

Carico specificato url Pagina di

1
WebView.loadUrl(String url) async;

Parametri di chiamata:

  • url: Stringa, specificata url

getUrl

Interroga la pagina corrente url

1
String WebView.getUrl() async;

Risultato di ritorno:

  • String, Torna alla pagina corrente url

setHtml

Imposta la pagina html di webview

1
WebView.setHtml(String html) async;

Parametri di chiamata:

  • html: Stringa, imposta html

reload

Aggiorna la pagina corrente

1
WebView.reload() async;

goBack

torna alla PAGINA precedente

1
WebView.goBack() async;

goForward

Passa alla pagina successiva

1
WebView.goForward() async;

print

Stampa il documento della finestra corrente

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

Parametri di chiamata:

  • mode: Intero, parametro di stampa, 0: stampa veloce; 1: stampa standard; 2: anteprima di stampa. Il valore predefinito è 1

printToPDF

Stampa il documento della finestra corrente in un file PDF

1
WebView.printToPDF(String file) async;

Parametri di chiamata:

  • file: Stringa, specifica il percorso pdf

executeJavaScript

Esegui un pezzo di codice JavaScript nella finestra corrente

1
WebView.executeJavaScript(String code) async;

Parametri di chiamata:

  • code: String, specifica il codice JavaScript da eseguire

executeDevToolsMethod

Esegui il comando DevTools nella finestra corrente e restituisci il risultato

1 2
Variant WebView.executeDevToolsMethod(String method, Object params = {}) async;

Parametri di chiamata:

  • method: String, specifica il comando DevTools da eseguire
  • params: Oggetto, specificare i parametri del comando

Risultato di ritorno:

  • Variant, Restituisce il risultato dell'esecuzione

close

Chiudi la finestra corrente

1
WebView.close() async;

postMessage

Invia un messaggio alla visualizzazione web

1
WebView.postMessage(String msg) async;

Parametri di chiamata:

  • msg: String, il messaggio da inviare

    postMessage deve inviare un messaggio dopo che la finestra è stata caricata, i messaggi inviati prima andranno persi. Pertanto, si consiglia di chiamare questo metodo dopo l'attivazione dell'evento onload.


on

Associa un gestore di eventi all'oggetto

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

Parametri di chiamata:

  • ev: Stringa, specifica il nome dell'evento
  • func: Funzione, specifica la funzione di elaborazione dell'evento

Risultato di ritorno:

  • Object, Restituisce l'oggetto evento stesso, che è conveniente per la chiamata a catena

Associa un gestore di eventi all'oggetto

1
Object WebView.on(Object map);

Parametri di chiamata:

  • map: Oggetto, specificare la relazione di mappatura dell'evento, il nome della proprietà dell'oggetto verrà utilizzato come nome dell'evento e il valore della proprietà verrà utilizzato come funzione di elaborazione dell'evento

Risultato di ritorno:

  • Object, Restituisce l'oggetto evento stesso, che è conveniente per la chiamata a catena

addListener

Associa un gestore di eventi all'oggetto

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

Parametri di chiamata:

  • ev: Stringa, specifica il nome dell'evento
  • func: Funzione, specifica la funzione di elaborazione dell'evento

Risultato di ritorno:

  • Object, Restituisce l'oggetto evento stesso, che è conveniente per la chiamata a catena

Associa un gestore di eventi all'oggetto

1
Object WebView.addListener(Object map);

Parametri di chiamata:

  • map: Oggetto, specificare la relazione di mappatura dell'evento, il nome della proprietà dell'oggetto verrà utilizzato come nome dell'evento e il valore della proprietà verrà utilizzato come funzione di elaborazione dell'evento

Risultato di ritorno:

  • Object, Restituisce l'oggetto evento stesso, che è conveniente per la chiamata a catena

prependListener

Associa un gestore di eventi all'inizio dell'oggetto

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

Parametri di chiamata:

  • ev: Stringa, specifica il nome dell'evento
  • func: Funzione, specifica la funzione di elaborazione dell'evento

Risultato di ritorno:

  • Object, Restituisce l'oggetto evento stesso, che è conveniente per la chiamata a catena

Associa un gestore di eventi all'inizio dell'oggetto

1
Object WebView.prependListener(Object map);

Parametri di chiamata:

  • map: Oggetto, specificare la relazione di mappatura dell'evento, il nome della proprietà dell'oggetto verrà utilizzato come nome dell'evento e il valore della proprietà verrà utilizzato come funzione di elaborazione dell'evento

Risultato di ritorno:

  • Object, Restituisce l'oggetto evento stesso, che è conveniente per la chiamata a catena

once

Associa una funzione di elaborazione dell'evento una tantum all'oggetto, la funzione di elaborazione una tantum verrà attivata solo una volta

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

Parametri di chiamata:

  • ev: Stringa, specifica il nome dell'evento
  • func: Funzione, specifica la funzione di elaborazione dell'evento

Risultato di ritorno:

  • Object, Restituisce l'oggetto evento stesso, che è conveniente per la chiamata a catena

Associa una funzione di elaborazione dell'evento una tantum all'oggetto, la funzione di elaborazione una tantum verrà attivata solo una volta

1
Object WebView.once(Object map);

Parametri di chiamata:

  • map: Oggetto, specificare la relazione di mappatura dell'evento, il nome della proprietà dell'oggetto verrà utilizzato come nome dell'evento e il valore della proprietà verrà utilizzato come funzione di elaborazione dell'evento

Risultato di ritorno:

  • Object, Restituisce l'oggetto evento stesso, che è conveniente per la chiamata a catena

prependOnceListener

Associa un gestore di eventi all'inizio dell'oggetto

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

Parametri di chiamata:

  • ev: Stringa, specifica il nome dell'evento
  • func: Funzione, specifica la funzione di elaborazione dell'evento

Risultato di ritorno:

  • Object, Restituisce l'oggetto evento stesso, che è conveniente per la chiamata a catena

Associa un gestore di eventi all'inizio dell'oggetto

1
Object WebView.prependOnceListener(Object map);

Parametri di chiamata:

  • map: Oggetto, specificare la relazione di mappatura dell'evento, il nome della proprietà dell'oggetto verrà utilizzato come nome dell'evento e il valore della proprietà verrà utilizzato come funzione di elaborazione dell'evento

Risultato di ritorno:

  • Object, Restituisce l'oggetto evento stesso, che è conveniente per la chiamata a catena

off

Annulla la funzione specificata dalla coda di elaborazione dell'oggetto

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

Parametri di chiamata:

  • ev: Stringa, specifica il nome dell'evento
  • func: Funzione, specifica la funzione di elaborazione dell'evento

Risultato di ritorno:

  • Object, Restituisce l'oggetto evento stesso, che è conveniente per la chiamata a catena

Annulla tutte le funzioni nella coda di elaborazione dell'oggetto

1
Object WebView.off(String ev);

Parametri di chiamata:

  • ev: Stringa, specifica il nome dell'evento

Risultato di ritorno:

  • Object, Restituisce l'oggetto evento stesso, che è conveniente per la chiamata a catena

Annulla la funzione specificata dalla coda di elaborazione dell'oggetto

1
Object WebView.off(Object map);

Parametri di chiamata:

  • map: Oggetto, specificare la relazione di mappatura dell'evento, il nome della proprietà dell'oggetto viene utilizzato come nome dell'evento e il valore della proprietà viene utilizzato come funzione di elaborazione dell'evento

Risultato di ritorno:

  • Object, Restituisce l'oggetto evento stesso, che è conveniente per la chiamata a catena

removeListener

Annulla la funzione specificata dalla coda di elaborazione dell'oggetto

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

Parametri di chiamata:

  • ev: Stringa, specifica il nome dell'evento
  • func: Funzione, specifica la funzione di elaborazione dell'evento

Risultato di ritorno:

  • Object, Restituisce l'oggetto evento stesso, che è conveniente per la chiamata a catena

Annulla tutte le funzioni nella coda di elaborazione dell'oggetto

1
Object WebView.removeListener(String ev);

Parametri di chiamata:

  • ev: Stringa, specifica il nome dell'evento

Risultato di ritorno:

  • Object, Restituisce l'oggetto evento stesso, che è conveniente per la chiamata a catena

Annulla la funzione specificata dalla coda di elaborazione dell'oggetto

1
Object WebView.removeListener(Object map);

Parametri di chiamata:

  • map: Oggetto, specificare la relazione di mappatura dell'evento, il nome della proprietà dell'oggetto viene utilizzato come nome dell'evento e il valore della proprietà viene utilizzato come funzione di elaborazione dell'evento

Risultato di ritorno:

  • Object, Restituisce l'oggetto evento stesso, che è conveniente per la chiamata a catena

removeAllListeners

Annulla tutti i listener di tutti gli eventi dalla coda di elaborazione dell'oggetto.Se viene specificato un evento, rimuovere tutti i listener dell'evento specificato.

1
Object WebView.removeAllListeners(String ev);

Parametri di chiamata:

  • ev: Stringa, specifica il nome dell'evento

Risultato di ritorno:

  • Object, Restituisce l'oggetto evento stesso, che è conveniente per la chiamata a catena

Annulla tutti i listener di tutti gli eventi dalla coda di elaborazione dell'oggetto.Se viene specificato un evento, rimuovere tutti i listener dell'evento specificato.

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

Parametri di chiamata:

  • evs: Array, specifica il nome dell'evento

Risultato di ritorno:

  • Object, Restituisce l'oggetto evento stesso, che è conveniente per la chiamata a catena

setMaxListeners

Il limite predefinito del numero di ascoltatori, solo per compatibilità

1
WebView.setMaxListeners(Integer n);

Parametri di chiamata:

  • n: Intero, specifica il numero di eventi

getMaxListeners

Ottieni il limite predefinito del numero di ascoltatori, solo per compatibilità

1
Integer WebView.getMaxListeners();

Risultato di ritorno:

  • Integer, Torna al numero limite predefinito

listeners

Array di ascoltatori per l'evento specificato dell'oggetto query

1
Array WebView.listeners(String ev);

Parametri di chiamata:

  • ev: Stringa, specifica il nome dell'evento

Risultato di ritorno:

  • Array, Restituisce un array di ascoltatori per l'evento specificato

listenerCount

Il numero di ascoltatori per l'evento specificato dell'oggetto query

1
Integer WebView.listenerCount(String ev);

Parametri di chiamata:

  • ev: Stringa, specifica il nome dell'evento

Risultato di ritorno:

  • Integer, Restituisce il numero di ascoltatori per l'evento specificato

eventNames

Interroga il nome dell'evento dell'ascoltatore

1
Array WebView.eventNames();

Risultato di ritorno:

  • Array, Restituisce un array di nomi di eventi

emit

Attiva attivamente un evento

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

Parametri di chiamata:

  • ev: Stringa, nome dell'evento
  • args: ..., parametri dell'evento, che verranno passati al gestore dell'evento

Risultato di ritorno:

  • Boolean, Ritorna allo stato di attivazione dell'evento, restituisce true se c'è un evento di risposta, altrimenti restituisce false

toString

Restituisce la rappresentazione in stringa dell'oggetto, generalmente restituisce "[Native Object]", l'oggetto può essere re-implementato secondo le proprie caratteristiche

1
String WebView.toString();

Risultato di ritorno:

  • String, Restituisce la rappresentazione di stringa dell'oggetto

toJSON

Restituisce la rappresentazione in formato JSON dell'oggetto, generalmente restituisce una raccolta di attributi leggibili definiti dall'oggetto

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

Parametri di chiamata:

  • key: Stringa, inutilizzata

Risultato di ritorno:

  • Value, Restituisce un valore contenente JSON serializzabile