Oggetto oggetto incorporato

Oggetto WebView

Oggetto finestra del browser

WebView è un componente finestra incorporato nel browser, attualmente supporta solo Windows, macOS (10.10+). Usa il kernel IE / Edge in Windows, usa 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, viene attivato l'evento external.onclose e external.onclose può decidere se chiudere. Se external.onclose restituisce false, l'operazione viene annullata, altrimenti la finestra verrà chiusa.

Il seguente esempio attenderà 5 secondi dopo che l'utente fa clic su Chiudi e quindi chiude 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à

Proprietà statiche

defaultMaxListeners

Integer, il numero massimo globale predefinito di listener

1
static Integer WebView.defaultMaxListeners;

Attributi dei membri

visible

Booleano, interroga e imposta se la finestra viene visualizzata

1
Boolean WebView.visible;

onload

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

1
Function WebView.onload;

onmove

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

1
Function WebView.onmove;

L'esempio seguente produrrà le coordinate dell'angolo superiore sinistro 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 bind, equivalente a on ("size", func);

1
Function WebView.onresize;

L'esempio seguente produrrà 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

Evento di chiusura della finestra di funzione, query e bind, questa volta verrà attivato dopo la chiusura di WebView, equivalente a on ("closed", func);

1
Function WebView.onclosed;

onmessage

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

1
Function WebView.onmessage;

Funzione membro

setHtml

Imposta l'html della pagina di webview

1
WebView.setHtml(String html) async;

Parametri di chiamata:

  • html : String, imposta html

print

Stampa il documento della finestra corrente

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

Parametri di chiamata:

  • mode : numero intero, parametro di stampa, 0: stampa veloce; 1: stampa standard; 2: anteprima di stampa. L'impostazione predefinita è 1

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

Associare un gestore di 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 degli eventi

Risultato di ritorno:

  • Object , restituisce l'oggetto evento stesso, facile da chiamare a catena

Associare un gestore di eventi all'oggetto

1
Object WebView.on(Object map);

Parametri di chiamata:

  • map : Object, specifica la relazione della mappatura degli eventi, il nome della proprietà dell'oggetto sarà il nome dell'evento e il valore della proprietà sarà la funzione di elaborazione dell'evento

Risultato di ritorno:

  • Object , restituisce l'oggetto evento stesso, facile da chiamare a catena

addListener

Associare un gestore di 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 degli eventi

Risultato di ritorno:

  • Object , restituisce l'oggetto evento stesso, facile da chiamare a catena

Associare un gestore di eventi all'oggetto

1
Object WebView.addListener(Object map);

Parametri di chiamata:

  • map : Object, specifica la relazione della mappatura degli eventi, il nome della proprietà dell'oggetto sarà il nome dell'evento e il valore della proprietà sarà la funzione di elaborazione dell'evento

Risultato di ritorno:

  • Object , restituisce l'oggetto evento stesso, facile da chiamare 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 : String, specifica il nome dell'evento
  • func : funzione, specifica la funzione di elaborazione degli eventi

Risultato di ritorno:

  • Object , restituisce l'oggetto evento stesso, facile da chiamare a catena

Associa un gestore di eventi all'inizio dell'oggetto

1
Object WebView.prependListener(Object map);

Parametri di chiamata:

  • map : Object, specifica la relazione della mappatura degli eventi, il nome della proprietà dell'oggetto sarà il nome dell'evento e il valore della proprietà sarà la funzione di elaborazione dell'evento

Risultato di ritorno:

  • Object , restituisce l'oggetto evento stesso, facile da chiamare a catena

once

Associa un gestore di eventi occasionale all'oggetto, il gestore occasionale 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 degli eventi

Risultato di ritorno:

  • Object , restituisce l'oggetto evento stesso, facile da chiamare a catena

Associa un gestore di eventi occasionale all'oggetto, il gestore occasionale verrà attivato solo una volta

1
Object WebView.once(Object map);

Parametri di chiamata:

  • map : Object, specifica la relazione della mappatura degli eventi, il nome della proprietà dell'oggetto sarà il nome dell'evento e il valore della proprietà sarà la funzione di elaborazione dell'evento

Risultato di ritorno:

  • Object , restituisce l'oggetto evento stesso, facile da chiamare 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 : String, specifica il nome dell'evento
  • func : funzione, specifica la funzione di elaborazione degli eventi

Risultato di ritorno:

  • Object , restituisce l'oggetto evento stesso, facile da chiamare a catena

Associa un gestore di eventi all'inizio dell'oggetto

1
Object WebView.prependOnceListener(Object map);

Parametri di chiamata:

  • map : Object, specifica la relazione della mappatura degli eventi, il nome della proprietà dell'oggetto sarà il nome dell'evento e il valore della proprietà sarà la funzione di elaborazione dell'evento

Risultato di ritorno:

  • Object , restituisce l'oggetto evento stesso, facile da chiamare 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 : String, specifica il nome dell'evento
  • func : funzione, specifica la funzione di elaborazione degli eventi

Risultato di ritorno:

  • Object , restituisce l'oggetto evento stesso, facile da chiamare 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

Risultato di ritorno:

  • Object , restituisce l'oggetto evento stesso, facile da chiamare a catena

Annulla la funzione specificata dalla coda di elaborazione dell'oggetto

1
Object WebView.off(Object map);

Parametri di chiamata:

  • map : Object, specifica la relazione di mappatura degli eventi, 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, facile da chiamare 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 : String, specifica il nome dell'evento
  • func : funzione, specifica la funzione di elaborazione degli eventi

Risultato di ritorno:

  • Object , restituisce l'oggetto evento stesso, facile da chiamare 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

Risultato di ritorno:

  • Object , restituisce l'oggetto evento stesso, facile da chiamare a catena

Annulla la funzione specificata dalla coda di elaborazione dell'oggetto

1
Object WebView.removeListener(Object map);

Parametri di chiamata:

  • map : Object, specifica la relazione di mappatura degli eventi, 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, facile da chiamare a catena

removeAllListeners

Annulla tutti i listener di tutti gli eventi dalla coda di elaborazione degli oggetti. 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, facile da chiamare a catena

setMaxListeners

Il limite predefinito del numero di listener, 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 listener, solo per compatibilità

1
Integer WebView.getMaxListeners();

Risultato di ritorno:

  • Integer , restituisce il numero limite predefinito

listeners

Matrice di listener per l'evento specificato dell'oggetto query

1
Array WebView.listeners(String ev);

Parametri di chiamata:

  • ev : String, specifica il nome dell'evento

Risultato di ritorno:

  • Array , restituisce un array di listener per l'evento specificato

listenerCount

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

1
Integer WebView.listenerCount(String ev);

Parametri di chiamata:

  • ev : String, specifica il nome dell'evento

Risultato di ritorno:

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

eventNames

Nome dell'evento del listener di query

1
Array WebView.eventNames();

Risultato di ritorno:

  • Array , restituisce un array di nomi di eventi

emit

Attiva un evento

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

Parametri di chiamata:

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

Risultato di ritorno:

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

toString

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

1
String WebView.toString();

Risultato di ritorno:

  • String , restituisce la rappresentazione in formato 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, non utilizzata

Risultato di ritorno:

  • Value , restituisce un valore contenente JSON serializzabile