Obxecto obxecto incorporado

ObjectWebView

obxecto da xanela do navegador

WebView é un compoñente de fiestras integrado no navegador. Actualmente só admite Windows e macOS (10.10+). Utiliza o núcleo IE/Edge en Windows e WKWebView en macOS.

Dado que o programa JavaScript en WebView e fibjs non están no mesmo motor, se precisa comunicarse co programa host, cómpre facelo a través de mensaxes.

O obxecto utilizado para a comunicación por WebView é externo. External admite un método postMessage e dous eventos onmessage e onclose.

Un exemplo de código de comunicación sinxelo é o seguinte:

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

O contido de index.html é o seguinte:

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

Antes de que se peche a xanela do usuario, desencadearase o evento external.onclose e external.onclose pode decidir se o pecha. Se external.onclose devolve false, a operación cancelarase, se non, a xanela pecharase.

O seguinte exemplo agardará 5 segundos despois de que o usuario faga clic en Pechar antes de pechar a xanela.

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>

No código anterior, dado que o propio window.close tamén activará o evento onclose, hai que engadir unha variable de cambio para identificar se este evento debe ser procesado.

relación de herdanza

propiedades estáticas

defaultMaxListeners

Enteiro, o número máximo global predeterminado de oíntes

1
static Integer WebView.defaultMaxListeners;

propiedades dos membros

onopen

Evento de éxito de carga de función, consulta e vinculación, equivalente a on("open", func);

1
Function WebView.onopen;

onload

Eventos exitosos de carga de función, consulta e vinculación, equivalente a on("load", func);

1
Function WebView.onload;

onaddress

Eventos de cambio de función, consulta e enlace de enderezos de páxina, equivalente a on("enderezo", func);

1
Function WebView.onaddress;

ontitle

Eventos de cambio de función, consulta e vinculación do título da páxina, equivalente a on("título", func);

1
Function WebView.ontitle;

onmove

Función, consulta e vinculación de eventos de movemento da xanela, equivalente a on("move", func);

1
Function WebView.onmove;

O seguinte exemplo mostra as coordenadas da esquina superior esquerda da xanela mentres se move:

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

Función, consulta e vinculación de eventos de cambio de tamaño da xanela, equivalente a on("tamaño", func);

1
Function WebView.onresize;

O seguinte exemplo mostra as dimensións dunha xanela cando se redimensiona:

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

Funciona, consulta e vincula o evento de peche da xanela. Este tempo activarase despois de que se peche WebView, o que equivale a on("closed", func);

1
Function WebView.onclosed;

onmessage

Función, consulta e vinculación aceptan eventos de mensaxes postMessage na vista web, equivalente a on("mensaxe", func);

1
Function WebView.onmessage;

ondownload

Función, consulta e vinculación aceptar eventos de cambio de estado da transacción de descarga na vista web, equivalente a on("descargar", func);

1
Function WebView.ondownload;

función de membro

loadUrl

carga especificadaurla páxina

1
WebView.loadUrl(String url) async;

Parámetros de chamada:

  • url: Cadena, especificadaurl

getUrl

Consulta a páxina actualurl

1
String WebView.getUrl() async;

Resultados de devolución:

  • String, devolve a páxina actualurl

setHtml

Establece o html da páxina da vista web

1
WebView.setHtml(String html) async;

Parámetros de chamada:

  • html: String, establece html

reload

Actualizar a páxina actual

1
WebView.reload() async;

goBack

Volver á páxina anterior

1
WebView.goBack() async;

goForward

Ir á páxina seguinte

1
WebView.goForward() async;

print

Imprima o documento da fiestra actual

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

Parámetros de chamada:

  • mode: Número enteiro, parámetros de impresión, 0: impresión rápida; 1: impresión estándar; 2: vista previa de impresión. O valor predeterminado é 1

executeJavaScript

Executar un anaco de código JavaScript na xanela actual

1
WebView.executeJavaScript(String code) async;

Parámetros de chamada:

  • code: String, especifica o código JavaScript que se vai executar

close

Pechar a xanela actual

1
WebView.close() async;

postMessage

Enviar mensaxe a webview

1
WebView.postMessage(String msg) async;

Parámetros de chamada:

  • msg: String, a mensaxe que se vai enviar

    postMessage debe enviar a mensaxe despois de cargar a xanela e perderanse as mensaxes enviadas antes. Polo tanto, recoméndase chamar a este método despois de que se desencadee o evento onload.


on

Vincular un controlador de eventos ao obxecto

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

Parámetros de chamada:

  • ev: Cadea, especifica o nome do evento
  • func: Función, especifique a función de procesamento de eventos

Resultados de devolución:

  • Object, devolve o propio obxecto do evento para facilitar as chamadas en cadea

Vincular un controlador de eventos ao obxecto

1
Object WebView.on(Object map);

Parámetros de chamada:

  • map: Obxecto, especifica a relación de asignación de eventos, o nome do atributo do obxecto empregarase como nome do evento e o valor do atributo como función de procesamento de eventos

Resultados de devolución:

  • Object, devolve o propio obxecto do evento para facilitar as chamadas en cadea

addListener

Vincular un controlador de eventos ao obxecto

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

Parámetros de chamada:

  • ev: Cadea, especifica o nome do evento
  • func: Función, especifique a función de procesamento de eventos

Resultados de devolución:

  • Object, devolve o propio obxecto do evento para facilitar as chamadas en cadea

Vincular un controlador de eventos ao obxecto

1
Object WebView.addListener(Object map);

Parámetros de chamada:

  • map: Obxecto, especifica a relación de asignación de eventos, o nome do atributo do obxecto empregarase como nome do evento e o valor do atributo como función de procesamento de eventos

Resultados de devolución:

  • Object, devolve o propio obxecto do evento para facilitar as chamadas en cadea

prependListener

Vincular un controlador de eventos á orixe do obxecto

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

Parámetros de chamada:

  • ev: Cadea, especifica o nome do evento
  • func: Función, especifique a función de procesamento de eventos

Resultados de devolución:

  • Object, devolve o propio obxecto do evento para facilitar as chamadas en cadea

Vincular un controlador de eventos á orixe do obxecto

1
Object WebView.prependListener(Object map);

Parámetros de chamada:

  • map: Obxecto, especifica a relación de asignación de eventos, o nome do atributo do obxecto empregarase como nome do evento e o valor do atributo como función de procesamento de eventos

Resultados de devolución:

  • Object, devolve o propio obxecto do evento para facilitar as chamadas en cadea

once

Vincula un controlador de eventos único ao obxecto. O manejador único só se activará unha vez.

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

Parámetros de chamada:

  • ev: Cadea, especifica o nome do evento
  • func: Función, especifique a función de procesamento de eventos

Resultados de devolución:

  • Object, devolve o propio obxecto do evento para facilitar as chamadas en cadea

Vincula un controlador de eventos único ao obxecto. O manejador único só se activará unha vez.

1
Object WebView.once(Object map);

Parámetros de chamada:

  • map: Obxecto, especifica a relación de asignación de eventos, o nome do atributo do obxecto empregarase como nome do evento e o valor do atributo como función de procesamento de eventos

Resultados de devolución:

  • Object, devolve o propio obxecto do evento para facilitar as chamadas en cadea

prependOnceListener

Vincular un controlador de eventos á orixe do obxecto

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

Parámetros de chamada:

  • ev: Cadea, especifica o nome do evento
  • func: Función, especifique a función de procesamento de eventos

Resultados de devolución:

  • Object, devolve o propio obxecto do evento para facilitar as chamadas en cadea

Vincular un controlador de eventos á orixe do obxecto

1
Object WebView.prependOnceListener(Object map);

Parámetros de chamada:

  • map: Obxecto, especifica a relación de asignación de eventos, o nome do atributo do obxecto empregarase como nome do evento e o valor do atributo como función de procesamento de eventos

Resultados de devolución:

  • Object, devolve o propio obxecto do evento para facilitar as chamadas en cadea

off

Desasignar unha función da cola de procesamento de obxectos

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

Parámetros de chamada:

  • ev: Cadea, especifica o nome do evento
  • func: Función, especifique a función de procesamento de eventos

Resultados de devolución:

  • Object, devolve o propio obxecto do evento para facilitar as chamadas en cadea

Cancela todas as funcións da cola de procesamento de obxectos

1
Object WebView.off(String ev);

Parámetros de chamada:

  • ev: Cadea, especifica o nome do evento

Resultados de devolución:

  • Object, devolve o propio obxecto do evento para facilitar as chamadas en cadea

Desasignar unha función da cola de procesamento de obxectos

1
Object WebView.off(Object map);

Parámetros de chamada:

  • map: Obxecto, especifica a relación de asignación de eventos, o nome do atributo do obxecto úsase como nome do evento e o valor do atributo úsase como función de procesamento de eventos.

Resultados de devolución:

  • Object, devolve o propio obxecto do evento para facilitar as chamadas en cadea

removeListener

Desasignar unha función da cola de procesamento de obxectos

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

Parámetros de chamada:

  • ev: Cadea, especifica o nome do evento
  • func: Función, especifique a función de procesamento de eventos

Resultados de devolución:

  • Object, devolve o propio obxecto do evento para facilitar as chamadas en cadea

Cancela todas as funcións da cola de procesamento de obxectos

1
Object WebView.removeListener(String ev);

Parámetros de chamada:

  • ev: Cadea, especifica o nome do evento

Resultados de devolución:

  • Object, devolve o propio obxecto do evento para facilitar as chamadas en cadea

Desasignar unha función da cola de procesamento de obxectos

1
Object WebView.removeListener(Object map);

Parámetros de chamada:

  • map: Obxecto, especifica a relación de asignación de eventos, o nome do atributo do obxecto úsase como nome do evento e o valor do atributo úsase como función de procesamento de eventos.

Resultados de devolución:

  • Object, devolve o propio obxecto do evento para facilitar as chamadas en cadea

removeAllListeners

Cancela todos os oíntes de todos os eventos da cola de procesamento do obxecto. Se se especifica un evento, elimina todos os oíntes do evento especificado.

1
Object WebView.removeAllListeners(String ev);

Parámetros de chamada:

  • ev: Cadea, especifica o nome do evento

Resultados de devolución:

  • Object, devolve o propio obxecto do evento para facilitar as chamadas en cadea

Cancela todos os oíntes de todos os eventos da cola de procesamento do obxecto. Se se especifica un evento, elimina todos os oíntes do evento especificado.

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

Parámetros de chamada:

  • evs: Matriz, especifique o nome do evento

Resultados de devolución:

  • Object, devolve o propio obxecto do evento para facilitar as chamadas en cadea

setMaxListeners

O límite predeterminado no número de oíntes, só para compatibilidade

1
WebView.setMaxListeners(Integer n);

Parámetros de chamada:

  • n: Número enteiro, especifique o número de eventos

getMaxListeners

Obtén o número límite predeterminado de oíntes, só para compatibilidade

1
Integer WebView.getMaxListeners();

Resultados de devolución:

  • Integer, devolve a cantidade límite predeterminada

listeners

Consulta a matriz de escoita para o evento especificado do obxecto

1
Array WebView.listeners(String ev);

Parámetros de chamada:

  • ev: Cadea, especifica o nome do evento

Resultados de devolución:

  • Array, devolve a matriz de escoita para o evento especificado

listenerCount

Consulta o número de oíntes para o evento especificado do obxecto

1
Integer WebView.listenerCount(String ev);

Parámetros de chamada:

  • ev: Cadea, especifica o nome do evento

Resultados de devolución:

  • Integer, devolve o número de oíntes para o evento especificado

Consulta o número de oíntes para o evento especificado do obxecto

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

Parámetros de chamada:

  • o: Valor, especifica o obxecto da consulta
  • ev: Cadea, especifica o nome do evento

Resultados de devolución:

  • Integer, devolve o número de oíntes para o evento especificado

eventNames

Consulta o nome do evento do oínte

1
Array WebView.eventNames();

Resultados de devolución:

  • Array, devolve unha matriz de nomes de eventos

emit

Activa un evento de forma activa

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

Parámetros de chamada:

  • ev: Cadea, nome do evento
  • args: ..., os parámetros do evento pasaranse á función de procesamento de eventos

Resultados de devolución:

  • Boolean, devolve o estado de activación do evento, devolve verdadeiro se hai un evento de resposta, se non, devolve falso

toString

Devolve a representación en cadea do obxecto. Polo xeral, devólvese "[Obxecto nativo]". O obxecto pódese volver implementar segundo as súas propias características.

1
String WebView.toString();

Resultados de devolución:

  • String, devolve a representación en cadea do obxecto

toJSON

Devolve unha representación en formato JSON do obxecto, devolvendo xeralmente unha colección de propiedades lexibles definidas polo obxecto.

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

Parámetros de chamada:

  • key: Cadena, non usada

Resultados de devolución:

  • Value, devolve un valor que contén JSON serializable