Objeto objeto incorporado

WebView de objeto

Objeto de la ventana del navegador

WebView es un componente de ventana incrustado en el navegador, actualmente solo admite ventanas, es decir.

Debido a que el programa JavaScript en WebView y fibjs no están en el mismo motor, si necesita comunicarse con el programa host, debe hacerlo a través de mensajes.

El objeto que utiliza WebView para la comunicación es externo. Externo admite un método postMessage y dos eventos onmessage y onclose.

Un código de ejemplo de comunicación simple es el siguiente:

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 contenido de index.html es el siguiente:

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 cierre la ventana del usuario, se desencadena el evento external.onclose y external.onclose puede decidir si cerrarlo. Si external.onclose devuelve falso, la operación se cancela; de lo contrario, la ventana se cierra.

El siguiente ejemplo esperará 5 segundos después de cerrar el punto de usuario antes de cerrar la ventana.

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>

En el código anterior, debido a que window.close también activará el evento onclose, debe agregar una variable de cambio para identificar si necesita manejar este evento.

Herencia

Propiedad estática

defaultMaxListeners

Entero, el número máximo global predeterminado de oyentes

1
static Integer WebView.defaultMaxListeners;

Atributos del miembro

visible

Booleano, consulta y establece si se muestra la ventana

1
Boolean WebView.visible;

onload

Evento de éxito de carga de función, consulta y enlace, equivalente a on ("load", func);

1
Function WebView.onload;

onmove

Evento de movimiento de ventana de función, consulta y enlace, equivalente a on ("move", func);

1
Function WebView.onmove;

El siguiente ejemplo muestra las coordenadas de la esquina superior izquierda de la ventana a medida que se mueve:

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 y evento de cambio de tamaño de ventana de enlace, equivalente a on ("size", func);

1
Function WebView.onresize;

El siguiente ejemplo muestra el tamaño de la ventana cuando se cambia el tamaño de la ventana:

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 de cierre de ventana de función, consulta y enlace, esta vez se activará después de que se cierre el WebView, equivalente a on ("cerrado", func);

1
Function WebView.onclosed;

onmessage

La función, consulta y enlace aceptan el evento de mensaje postMessage en webview, equivalente a on ("message", func);

1
Function WebView.onmessage;

Función miembro

setHtml

Establecer página webview html

1
WebView.setHtml(String html) async;

Parámetros de llamada:

  • html : String, el conjunto html

print

Imprimir el documento de la ventana actual

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

Parámetros de llamada:

  • mode : entero, parámetros de impresión, 0: impresión rápida; 1: impresión estándar; 2: vista previa de impresión. El valor predeterminado es 1

close

Cerrar la ventana actual

1
WebView.close() async;

postMessage

Enviar un mensaje a la vista web

1
WebView.postMessage(String msg) async;

Parámetros de llamada:

  • msg: String, el mensaje a enviar

    postMessage necesita enviar un mensaje después de cargar la ventana, y los mensajes enviados antes de ese momento se perderán. Por lo tanto, se recomienda llamar a este método después de que se active el evento onload.


on

Vincula un controlador de eventos a un objeto

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

Parámetros de llamada:

  • ev : String, el nombre del evento especificado
  • func : Function, especifica la función del controlador de eventos

Devuelve el resultado:

  • Object , devuelve el número de enlaces exitosos, o 0 si la función está enlazada

Vincula un controlador de eventos a un objeto

1
Object WebView.on(Object map);

Parámetros de llamada:

  • map : Object, especifica la relación de mapeo de eventos, el nombre de la propiedad del objeto se usará como el nombre del evento y el valor de la propiedad se usará como el controlador de eventos

Devuelve el resultado:

  • Object , devuelve el objeto de evento en sí, lo cual es conveniente para llamadas encadenadas

addListener

Vincula un controlador de eventos a un objeto

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

Parámetros de llamada:

  • ev : String, el nombre del evento especificado
  • func : Function, especifica la función del controlador de eventos

Devuelve el resultado:

  • Object , devuelve el objeto de evento en sí, lo cual es conveniente para llamadas encadenadas

Vincula un controlador de eventos a un objeto

1
Object WebView.addListener(Object map);

Parámetros de llamada:

  • map : Object, especifica la relación de mapeo de eventos, el nombre de la propiedad del objeto se usará como el nombre del evento y el valor de la propiedad se usará como el controlador de eventos

Devuelve el resultado:

  • Object , devuelve el objeto de evento en sí, lo cual es conveniente para llamadas encadenadas

prependListener

Vincula un controlador de eventos al inicio del objeto

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

Parámetros de llamada:

  • ev : String, el nombre del evento especificado
  • func : Function, especifica la función del controlador de eventos

Devuelve el resultado:

  • Object , devuelve el número de enlaces exitosos, o 0 si la función está enlazada

Vincula un controlador de eventos al inicio del objeto

1
Object WebView.prependListener(Object map);

Parámetros de llamada:

  • map : Object, especifica la relación de mapeo de eventos, el nombre de la propiedad del objeto se usará como el nombre del evento y el valor de la propiedad se usará como el controlador de eventos

Devuelve el resultado:

  • Object , devuelve el número de enlaces exitosos, o 0 si la función está enlazada

once

Vincula un controlador de eventos de una sola vez a un objeto. El controlador de una sola vez solo se disparará una vez.

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

Parámetros de llamada:

  • ev : String, el nombre del evento especificado
  • func : Function, especifica la función del controlador de eventos

Devuelve el resultado:

  • Object , devuelve el objeto de evento en sí, lo cual es conveniente para llamadas encadenadas

Vincula un controlador de eventos de una sola vez a un objeto. El controlador de una sola vez solo se disparará una vez.

1
Object WebView.once(Object map);

Parámetros de llamada:

  • map : Object, especifica la relación de mapeo de eventos, el nombre de la propiedad del objeto se usará como el nombre del evento y el valor de la propiedad se usará como el controlador de eventos

Devuelve el resultado:

  • Object , devuelve el objeto de evento en sí, lo cual es conveniente para llamadas encadenadas

prependOnceListener

Vincula un controlador de eventos al inicio del objeto

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

Parámetros de llamada:

  • ev : String, el nombre del evento especificado
  • func : Function, especifica la función del controlador de eventos

Devuelve el resultado:

  • Object , devuelve el número de enlaces exitosos, o 0 si la función está enlazada

Vincula un controlador de eventos al inicio del objeto

1
Object WebView.prependOnceListener(Object map);

Parámetros de llamada:

  • map : Object, especifica la relación de mapeo de eventos, el nombre de la propiedad del objeto se usará como el nombre del evento y el valor de la propiedad se usará como el controlador de eventos

Devuelve el resultado:

  • Object , devuelve el número de enlaces exitosos, o 0 si la función está enlazada

off

Función no especificada de la cola de procesamiento de objetos

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

Parámetros de llamada:

  • ev : String, el nombre del evento especificado
  • func : Function, especifica la función del controlador de eventos

Devuelve el resultado:

  • Object , devuelve el objeto de evento en sí, lo cual es conveniente para llamadas encadenadas

Cancelar todas las funciones en la cola de procesamiento de objetos

1
Object WebView.off(String ev);

Parámetros de llamada:

  • ev : String, el nombre del evento especificado

Devuelve el resultado:

  • Object , devuelve el objeto de evento en sí, lo cual es conveniente para llamadas encadenadas

Función no especificada de la cola de procesamiento de objetos

1
Object WebView.off(Object map);

Parámetros de llamada:

  • map : Object, especifica la relación de mapeo de eventos, el nombre de la propiedad del objeto se usa como el nombre del evento y el valor de la propiedad se usa como la función de procesamiento de eventos

Devuelve el resultado:

  • Object , devuelve el objeto de evento en sí, lo cual es conveniente para llamadas encadenadas

removeListener

Función no especificada de la cola de procesamiento de objetos

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

Parámetros de llamada:

  • ev : String, el nombre del evento especificado
  • func : Function, especifica la función del controlador de eventos

Devuelve el resultado:

  • Object , devuelve el objeto de evento en sí, lo cual es conveniente para llamadas encadenadas

Cancelar todas las funciones en la cola de procesamiento de objetos

1
Object WebView.removeListener(String ev);

Parámetros de llamada:

  • ev : String, el nombre del evento especificado

Devuelve el resultado:

  • Object , devuelve el objeto de evento en sí, lo cual es conveniente para llamadas encadenadas

Función no especificada de la cola de procesamiento de objetos

1
Object WebView.removeListener(Object map);

Parámetros de llamada:

  • map : Object, especifica la relación de mapeo de eventos, el nombre de la propiedad del objeto se usa como el nombre del evento y el valor de la propiedad se usa como la función de procesamiento de eventos

Devuelve el resultado:

  • Object , devuelve el objeto de evento en sí, lo cual es conveniente para llamadas encadenadas

removeAllListeners

Cancele todos los oyentes para todos los eventos de la cola de procesamiento de objetos. Si se especifica un evento, elimine todos los oyentes para el evento especificado.

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

Parámetros de llamada:

  • evs : matriz, especifique el nombre del evento

Devuelve el resultado:

  • Object , devuelve el objeto de evento en sí, lo cual es conveniente para llamadas encadenadas

setMaxListeners

Número de oyentes por defecto, solo para compatibilidad

1
WebView.setMaxListeners(Integer n);

Parámetros de llamada:

  • n : entero, el número de eventos especificados

getMaxListeners

Obtenga el número límite predeterminado de oyentes, solo por compatibilidad

1
Integer WebView.getMaxListeners();

Devuelve el resultado:

  • Integer , devuelve el número límite predeterminado

listeners

La matriz de escucha para el evento especificado del objeto de consulta

1
Array WebView.listeners(String ev);

Parámetros de llamada:

  • ev : String, el nombre del evento especificado

Devuelve el resultado:

  • Array , devuelve una matriz de oyentes para el evento especificado

listenerCount

Consulta el número de oyentes para el evento especificado

1
Integer WebView.listenerCount(String ev);

Parámetros de llamada:

  • ev : String, el nombre del evento especificado

Devuelve el resultado:

  • Integer , devuelve el número de oyentes para el evento especificado

eventNames

Nombre del evento del oyente de consultas

1
Array WebView.eventNames();

Devuelve el resultado:

  • Array , devuelve una matriz de nombres de eventos

emit

Activar activamente un evento

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

Parámetros de llamada:

  • ev : String, nombre del evento
  • args : ..., los parámetros del evento se pasarán al controlador de eventos

Devuelve el resultado:

  • Boolean , devuelve el estado de activación del evento, devuelve verdadero si hay un evento de respuesta, de lo contrario devuelve falso

toString

Devuelve una representación de cadena del objeto, generalmente "[Objeto nativo]". Los objetos se pueden volver a implementar de acuerdo con sus propias características

1
String WebView.toString();

Devuelve el resultado:

  • String , devuelve una representación de cadena del objeto

toJSON

Devuelve una representación JSON del objeto, normalmente devuelve una colección de propiedades legibles definidas por el objeto

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

Parámetros de llamada:

  • key : cadena, sin usar

Devuelve el resultado:

  • Value , devuelve un valor que contiene un JSON serializable