Oggetto oggetto incorporato

ObjectWebView

oggetto della finestra del browser

WebView è un componente finestra incorporato nel browser. Attualmente supporta solo Windows e macOS (10.10+). Utilizza il kernel IE/Edge in Windows e WKWebView in macOS.

Poiché il programma JavaScript in WebView e fibjs non si trovano nello stesso motore, se è necessario comunicare con il programma host, è necessario farlo tramite messaggi.

L'oggetto utilizzato per la comunicazione da WebView è esterno.External 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 dell'utente venga chiusa, verrà attivato l'evento external.onclose e external.onclose potrà decidere se chiuderla. 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 su Chiudi prima di 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 attiverà anche l'evento onclose, è necessario aggiungere una variabile switch per identificare se questo evento deve essere elaborato.

rapporto ereditario

proprietà statiche

defaultMaxListeners

Intero, il numero massimo globale predefinito di ascoltatori

1
static Integer WebView.defaultMaxListeners;

proprietà dei membri

onopen

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

1
Function WebView.onopen;

onload

Funzione, query e associazione eventi di successo di caricamento, equivalente a on("load", func);

1
Function WebView.onload;

onaddress

Eventi di modifica dell'indirizzo di funzione, query e associazione della pagina, equivalenti a on("address", func);

1
Function WebView.onaddress;

ontitle

Eventi di modifica del titolo di funzione, query e associazione della pagina, equivalenti a on("title", func);

1
Function WebView.ontitle;

onmove

Funzione, interroga e associa eventi di movimento della finestra, equivalente a on("move", func);

1
Function WebView.onmove;

L'esempio seguente restituisce le coordinate dell'angolo superiore sinistro della finestra mentre si sposta:

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

Funzione, interroga e associa eventi di modifica della dimensione della finestra, equivalente a on("size", func);

1
Function WebView.onresize;

L'esempio seguente restituisce le dimensioni di una finestra quando 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

Funziona, interroga e associa l'evento di chiusura della finestra. Questa volta verrà attivato dopo la chiusura di WebView, che equivale a on("chiuso", func);

1
Function WebView.onclosed;

onmessage

Funzione, query e associazione accettano eventi di messaggio postMessage in webview, equivalenti a on("message", func);

1
Function WebView.onmessage;

ondownload

Funzione, query e associazione accettano eventi di modifica dello stato della transazione di download nella visualizzazione web, equivalente a on("download", func);

1
Function WebView.ondownload;

funzione membro

loadUrl

carico specificatourlla pagina

1
WebView.loadUrl(String url) async;

Parametri di chiamata:

  • url: stringa, specificataurl

getUrl

Interroga la pagina correnteurl

1
String WebView.getUrl() async;

Risultati restituiti:

  • String, restituisce la pagina correnteurl

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

ritorna alla pagina precedente

1
WebView.goBack() async;

goForward

Vai 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: Numero intero, parametri di stampa, 0: stampa veloce; 1: stampa standard; 2: anteprima di stampa. L'impostazione predefinita è 1

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

close

Chiudi la finestra corrente

1
WebView.close() async;

postMessage

Invia un messaggio a Webview

1
WebView.postMessage(String msg) async;

Parametri di chiamata:

  • msg: String, il messaggio da inviare

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


on

Associa un gestore eventi all'oggetto

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

Parametri di chiamata:

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

Risultati restituiti:

  • Object, restituisce l'oggetto evento stesso per facilitare le chiamate a catena

Associa un gestore eventi all'oggetto

1
Object WebView.on(Object map);

Parametri di chiamata:

  • map: Oggetto, specifica la relazione di mappatura degli eventi, il nome dell'attributo dell'oggetto verrà utilizzato come nome dell'evento e il valore dell'attributo verrà utilizzato come funzione di elaborazione dell'evento

Risultati restituiti:

  • Object, restituisce l'oggetto evento stesso per facilitare le chiamate a catena

addListener

Associa un gestore eventi all'oggetto

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

Parametri di chiamata:

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

Risultati restituiti:

  • Object, restituisce l'oggetto evento stesso per facilitare le chiamate a catena

Associa un gestore eventi all'oggetto

1
Object WebView.addListener(Object map);

Parametri di chiamata:

  • map: Oggetto, specifica la relazione di mappatura degli eventi, il nome dell'attributo dell'oggetto verrà utilizzato come nome dell'evento e il valore dell'attributo verrà utilizzato come funzione di elaborazione dell'evento

Risultati restituiti:

  • Object, restituisce l'oggetto evento stesso per facilitare le chiamate a catena

prependListener

Associa un gestore eventi all'origine dell'oggetto

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

Parametri di chiamata:

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

Risultati restituiti:

  • Object, restituisce l'oggetto evento stesso per facilitare le chiamate a catena

Associa un gestore eventi all'origine dell'oggetto

1
Object WebView.prependListener(Object map);

Parametri di chiamata:

  • map: Oggetto, specifica la relazione di mappatura degli eventi, il nome dell'attributo dell'oggetto verrà utilizzato come nome dell'evento e il valore dell'attributo verrà utilizzato come funzione di elaborazione dell'evento

Risultati restituiti:

  • Object, restituisce l'oggetto evento stesso per facilitare le chiamate a catena

once

Associa un gestore di eventi monouso all'oggetto. Il gestore di eventi monouso verrà attivato solo una volta.

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

Parametri di chiamata:

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

Risultati restituiti:

  • Object, restituisce l'oggetto evento stesso per facilitare le chiamate a catena

Associa un gestore di eventi monouso all'oggetto. Il gestore di eventi monouso verrà attivato solo una volta.

1
Object WebView.once(Object map);

Parametri di chiamata:

  • map: Oggetto, specifica la relazione di mappatura degli eventi, il nome dell'attributo dell'oggetto verrà utilizzato come nome dell'evento e il valore dell'attributo verrà utilizzato come funzione di elaborazione dell'evento

Risultati restituiti:

  • Object, restituisce l'oggetto evento stesso per facilitare le chiamate a catena

prependOnceListener

Associa un gestore eventi all'origine dell'oggetto

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

Parametri di chiamata:

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

Risultati restituiti:

  • Object, restituisce l'oggetto evento stesso per facilitare le chiamate a catena

Associa un gestore eventi all'origine dell'oggetto

1
Object WebView.prependOnceListener(Object map);

Parametri di chiamata:

  • map: Oggetto, specifica la relazione di mappatura degli eventi, il nome dell'attributo dell'oggetto verrà utilizzato come nome dell'evento e il valore dell'attributo verrà utilizzato come funzione di elaborazione dell'evento

Risultati restituiti:

  • Object, restituisce l'oggetto evento stesso per facilitare le chiamate a catena

off

Annullare l'assegnazione di una funzione dalla coda di elaborazione degli oggetti

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

Parametri di chiamata:

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

Risultati restituiti:

  • Object, restituisce l'oggetto evento stesso per facilitare le chiamate a catena

Annulla tutte le funzioni nella coda di elaborazione degli oggetti

1
Object WebView.off(String ev);

Parametri di chiamata:

  • ev: String, specifica il nome dell'evento

Risultati restituiti:

  • Object, restituisce l'oggetto evento stesso per facilitare le chiamate a catena

Annullare l'assegnazione di una funzione dalla coda di elaborazione degli oggetti

1
Object WebView.off(Object map);

Parametri di chiamata:

  • map: Oggetto, specifica la relazione di mappatura degli eventi, il nome dell'attributo dell'oggetto viene utilizzato come nome dell'evento e il valore dell'attributo viene utilizzato come funzione di elaborazione dell'evento

Risultati restituiti:

  • Object, restituisce l'oggetto evento stesso per facilitare le chiamate a catena

removeListener

Annullare l'assegnazione di una funzione dalla coda di elaborazione degli oggetti

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

Parametri di chiamata:

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

Risultati restituiti:

  • Object, restituisce l'oggetto evento stesso per facilitare le chiamate a catena

Annulla tutte le funzioni nella coda di elaborazione degli oggetti

1
Object WebView.removeListener(String ev);

Parametri di chiamata:

  • ev: String, specifica il nome dell'evento

Risultati restituiti:

  • Object, restituisce l'oggetto evento stesso per facilitare le chiamate a catena

Annullare l'assegnazione di una funzione dalla coda di elaborazione degli oggetti

1
Object WebView.removeListener(Object map);

Parametri di chiamata:

  • map: Oggetto, specifica la relazione di mappatura degli eventi, il nome dell'attributo dell'oggetto viene utilizzato come nome dell'evento e il valore dell'attributo viene utilizzato come funzione di elaborazione dell'evento

Risultati restituiti:

  • Object, restituisce l'oggetto evento stesso per facilitare le chiamate a catena

removeAllListeners

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

1
Object WebView.removeAllListeners(String ev);

Parametri di chiamata:

  • ev: String, specifica il nome dell'evento

Risultati restituiti:

  • Object, restituisce l'oggetto evento stesso per facilitare le chiamate a catena

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

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

Parametri di chiamata:

  • evs: Array, specifica il nome dell'evento

Risultati restituiti:

  • Object, restituisce l'oggetto evento stesso per facilitare le chiamate a catena

setMaxListeners

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

1
WebView.setMaxListeners(Integer n);

Parametri di chiamata:

  • n: Numero intero, specifica il numero di eventi

getMaxListeners

Ottiene il numero limite predefinito di ascoltatori, solo per compatibilità

1
Integer WebView.getMaxListeners();

Risultati restituiti:

  • Integer, restituisce la quantità limite predefinita

listeners

Interroga l'array del listener per l'evento specificato dell'oggetto

1
Array WebView.listeners(String ev);

Parametri di chiamata:

  • ev: String, specifica il nome dell'evento

Risultati restituiti:

  • Array, restituisce l'array del listener per l'evento specificato

listenerCount

Interroga il numero di ascoltatori per l'evento specificato dell'oggetto

1
Integer WebView.listenerCount(String ev);

Parametri di chiamata:

  • ev: String, specifica il nome dell'evento

Risultati restituiti:

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

Interroga il numero di ascoltatori per l'evento specificato dell'oggetto

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

Parametri di chiamata:

  • o: Valore, specifica l'oggetto della query
  • ev: String, specifica il nome dell'evento

Risultati restituiti:

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

eventNames

Interroga il nome dell'evento del listener

1
Array WebView.eventNames();

Risultati restituiti:

  • Array, restituisce una matrice 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: ..., i parametri dell'evento verranno passati alla funzione di elaborazione degli eventi

Risultati restituiti:

  • Boolean, restituisce lo stato di attivazione dell'evento, restituisce true se è presente un evento di risposta, altrimenti restituisce false

toString

Restituisce la rappresentazione in formato stringa dell'oggetto. Generalmente viene restituito "[Oggetto nativo]". L'oggetto può essere reimplementato in base alle proprie caratteristiche.

1
String WebView.toString();

Risultati restituiti:

  • String, restituisce la rappresentazione di stringa dell'oggetto

toJSON

Restituisce una rappresentazione in formato JSON dell'oggetto, generalmente restituendo una raccolta di proprietà leggibili definite dall'oggetto.

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

Parametri di chiamata:

  • key: Stringa, non utilizzata

Risultati restituiti:

  • Value, restituisce un valore contenente JSON serializzabile