Descripción
Usa la etiqueta webview
para cargar de forma activa contenido en vivo de la Web a través de la red y, luego, incorporarlo a tu app de Chrome. Tu app puede controlar la apariencia de webview
e interactuar con el contenido web, iniciar navegaciones en una página web incorporada, reaccionar a los eventos de error que ocurren en ella y mucho más (consulta Uso).
Permisos
webview
Tipos
ClearDataOptions
Son las opciones que determinan qué datos debe borrar clearData
.
Propiedades
-
desde
número opcional
Datos claros acumulados a partir de esta fecha, representados en milisegundos desde la época (se puede acceder a ellos a través del método getTime del objeto
Date
de JavaScript). Si no está presente, el valor predeterminado es0
(que quitaría todos los datos de navegación).
ClearDataTypeSet
Es un conjunto de tipos de datos. Las propiedades faltantes se interpretan como false
.
Propiedades
-
appcache
booleano opcional
Appcaches de sitios web
-
Almacenamiento en caché
booleano opcional
Chrome 44 y versiones posterioresDesde Chrome 43 La caché del navegador Nota: Cuando quitas datos, se borra toda la caché, no solo el rango que especificas.
-
galletas
booleano opcional
Son las cookies de la partición.
-
fileSystems
booleano opcional
Sistemas de archivos de sitios web
-
indexedDB
booleano opcional
Datos de IndexedDB de los sitios web.
-
localStorage
booleano opcional
Datos de almacenamiento local de los sitios web
-
persistentCookies
booleano opcional
Chrome 58 y versiones posterioresSon las cookies persistentes de la partición.
-
sessionCookies
booleano opcional
Chrome 58 y versiones posterioresSon las cookies de sesión de la partición.
-
webSQL
booleano opcional
Datos de WebSQL de los sitios web.
ContentScriptDetails
Son los detalles de la secuencia de comandos de contenido que se insertará. Consulta la documentación de las secuencias de comandos de contenido para obtener más detalles.
Propiedades
-
all_frames
booleano opcional
Si
all_frames
estrue
, esto implica que el código JavaScript o CSS se debe insertar en todos los marcos de la página actual. De forma predeterminada,all_frames
esfalse
, y el código JavaScript o CSS solo se inyecta en el marco superior. -
css
InjectionItems opcional
Es el código CSS o una lista de archivos CSS que se insertarán en las páginas coincidentes. Se insertan en el orden en que aparecen, antes de que se construya o muestre cualquier DOM para la página.
-
exclude_globs
string[] opcional
Se aplica después de las coincidencias para excluir las URLs que coinciden con este comodín. Se diseñó para emular la palabra clave @exclude de Greasemonkey.
-
exclude_matches
string[] opcional
Excluye las páginas en las que, de lo contrario, se insertaría este script de contenido.
-
include_globs
string[] opcional
Se aplica después de las coincidencias para incluir solo las URLs que también coinciden con este comodín. Se diseñó para emular la palabra clave @include de Greasemonkey.
-
js
InjectionItems opcional
Es el código JavaScript o una lista de archivos JavaScript que se insertarán en las páginas coincidentes. Se insertan en el orden en que aparecen.
-
match_about_blank
booleano opcional
Indica si se debe insertar la secuencia de comandos de contenido en about:blank y about:srcdoc. Los secuencias de comandos de contenido solo se insertarán en las páginas cuando uno de los patrones declarados en el campo matches coincida con su URL heredada. La URL de herencia es la URL del documento que creó el marco o la ventana. No se pueden insertar secuencias de comandos de contenido en los marcos de zona de pruebas.
-
coincide con
string[]
Especifica en qué páginas se insertará este script de contenido.
-
nombre
string
Nombre del script de contenido que se inyectará.
-
run_at
RunAt opcional
Es el momento más cercano en el que se inyectará el código JavaScript o CSS en la pestaña. El valor predeterminado es "document_idle".
ContentWindow
Es el identificador de mensajería de una ventana de invitado.
Propiedades
-
postMessage
void
Publica un mensaje en el contenido web incorporado, siempre y cuando este muestre una página del origen de destino. Este método está disponible una vez que se completa la carga de la página. Espera el evento
contentload
y, luego, llama al método.El invitado podrá enviar respuestas al incorporador publicando mensajes en
event.source
en el evento de mensaje que reciba.Esta API es idéntica a la API de postMessage de HTML5 para la comunicación entre páginas web. El incorporador puede escuchar las respuestas agregando un objeto de escucha de eventos
message
a su propio iframe.La función
postMessage
se ve de la siguiente manera:(message: any, targetOrigin: string) => {...}
-
mensaje
cualquiera
Es el objeto del mensaje que se enviará al huésped.
-
targetOrigin
string
Especifica cuál debe ser el origen de la ventana secundaria para que se envíe el evento.
-
ContextMenuCreateProperties
Propiedades
-
activado
booleano opcional
Es el estado inicial de una casilla de verificación o un elemento de botón de radio: verdadero si está seleccionado y falso si no lo está. Solo se puede seleccionar un elemento de radio a la vez en un grupo determinado de elementos de radio.
-
contextos
[ContextType, ...ContextType[]] opcional
Es la lista de contextos en los que aparecerá este elemento de menú. Si no se especifica, el valor predeterminado es ['page'].
-
documentUrlPatterns
string[] opcional
Te permite restringir el elemento para que se aplique solo a los documentos cuya URL coincida con uno de los patrones proporcionados. (Esto también se aplica a los fotogramas). Para obtener detalles sobre el formato de un patrón, consulta Patrones de coincidencia.
-
habilitado
booleano opcional
Indica si este elemento del menú contextual está habilitado o inhabilitado. La configuración predeterminada es
true
. -
id
cadena opcional
Es el ID único que se asignará a este elemento. Es obligatorio para las páginas de eventos. No puede ser igual a otro ID de esta extensión.
-
parentId
cadena | número opcional
ID de un elemento de menú principal, lo que convierte al elemento en secundario de un elemento agregado anteriormente.
-
targetUrlPatterns
string[] opcional
Es similar a documentUrlPatterns, pero te permite filtrar en función del atributo
src
de las etiquetas img/audio/video y el atributohref
de las etiquetas de anclaje. -
título
cadena opcional
Es el texto que se mostrará en el elemento. Este parámetro es obligatorio, a menos que
type
sea "separator". Cuando el contexto es "selection", puedes usar%s
dentro de la cadena para mostrar el texto seleccionado. Por ejemplo, si el valor de este parámetro es "Traduce "%s" al latín de cerdo" y el usuario selecciona la palabra "cool", el elemento del menú contextual para la selección es "Traduce "cool" al latín de cerdo". -
tipo
ItemType opcional
Es el tipo de elemento de menú. El valor predeterminado es "normal" si no se especifica.
-
onclick
void optional
Es una función a la que se llamará cuando se haga clic en el elemento de menú.
La función
onclick
se ve de la siguiente manera:(info: OnClickData) => {...}
-
información
Es información sobre el elemento en el que se hizo clic y el contexto en el que se produjo el clic.
-
ContextMenus
Propiedades
-
onShow
Event<functionvoidvoid>
Se activa antes de mostrar un menú contextual en este
webview
. Se puede usar para inhabilitar este menú contextual llamando aevent.preventDefault()
.La función
onShow.addListener
se ve de la siguiente manera:(callback: function) => {...}
-
callback
función
El parámetro
callback
se ve de la siguiente manera:(event: object) => void
-
evento
objeto
-
preventDefault
void
Llama a este método para evitar que se muestre el menú contextual.
La función
preventDefault
se ve de la siguiente manera:() => {...}
-
-
-
-
create
void
Crea un elemento nuevo del menú contextual. Ten en cuenta que, si se produce un error durante la creación, es posible que no lo descubras hasta que se active la devolución de llamada de creación (los detalles estarán en
runtime.lastError
).La función
create
se ve de la siguiente manera:(createProperties: object, callback?: function) => {...}
-
createProperties
objeto
Propiedades que se usan para crear el elemento
-
callback
función opcional
El parámetro
callback
se ve de la siguiente manera:() => void
-
muestra
cadena | número
Es el ID del elemento recién creado.
-
-
quitar
void
Quita un elemento del menú contextual.
La función
remove
se ve de la siguiente manera:(menuItemId: string | number, callback?: function) => {...}
-
cadena | número
Es el ID del elemento del menú contextual que se quitará.
-
callback
función opcional
El parámetro
callback
se ve de la siguiente manera:() => void
-
-
removeAll
void
Quita todos los elementos del menú contextual agregados a este
webview
.La función
removeAll
se ve de la siguiente manera:(callback?: function) => {...}
-
callback
función opcional
El parámetro
callback
se ve de la siguiente manera:() => void
-
-
update
void
Actualiza un elemento de menú contextual creado anteriormente.
La función
update
se ve de la siguiente manera:(id: string | number, updateProperties: object, callback?: function) => {...}
-
id
cadena | número
Es el ID del elemento que se actualizará.
-
updateProperties
objeto
Son las propiedades que se actualizarán. Acepta los mismos valores que la función de creación.
-
callback
función opcional
El parámetro
callback
se ve de la siguiente manera:() => void
-
ContextMenuUpdateProperties
Propiedades
-
activado
booleano opcional
Estado de un elemento de casilla de verificación o de botón de selección: verdadero si está seleccionado y falso si no lo está. Solo se puede seleccionar un elemento de radio a la vez en un grupo determinado de elementos de radio.
-
contextos
[ContextType, ...ContextType[]] opcional
Es la lista de contextos en los que aparecerá este elemento de menú.
-
documentUrlPatterns
string[] opcional
Te permite restringir el elemento para que se aplique solo a los documentos cuya URL coincida con uno de los patrones proporcionados. (Esto también se aplica a los fotogramas). Para obtener detalles sobre el formato de un patrón, consulta Patrones de coincidencia.
-
habilitado
booleano opcional
Indica si este elemento del menú contextual está habilitado o inhabilitado.
-
parentId
cadena | número opcional
ID de un elemento de menú principal, lo que convierte al elemento en secundario de un elemento agregado anteriormente. Nota: No puedes cambiar un elemento para que sea secundario de uno de sus propios descendientes.
-
targetUrlPatterns
string[] opcional
Es similar a documentUrlPatterns, pero te permite filtrar en función del atributo
src
de las etiquetas img/audio/video y el atributohref
de las etiquetas de anclaje. -
título
cadena opcional
Es el texto que se mostrará en el elemento.
-
tipo
ItemType opcional
Es el tipo de elemento de menú.
-
onclick
void optional
Es una función a la que se llamará cuando se haga clic en el elemento de menú.
La función
onclick
se ve de la siguiente manera:(info: OnClickData) => {...}
-
información
Es información sobre el elemento en el que se hizo clic y el contexto en el que se produjo el clic.
-
ContextType
Son los diferentes contextos en los que puede aparecer un menú. Especificar "all" equivale a la combinación de todos los demás contextos.
Enum
"all"
"page"
"frame"
"selection"
"link"
"editable"
"image"
"video"
"audio"
DialogController
Interfaz adjunta a eventos del DOM dialog
.
Propiedades
-
cancelar
void
Rechaza el diálogo. Equivale a hacer clic en Cancelar en un diálogo de
confirm
oprompt
.La función
cancel
se ve de la siguiente manera:() => {...}
-
Aceptar
void
Acepta el diálogo. Equivale a hacer clic en Aceptar en un diálogo de
alert
,confirm
oprompt
.La función
ok
se ve de la siguiente manera:(response?: string) => {...}
-
respuesta
cadena opcional
Es la cadena de respuesta que se proporciona al invitado cuando se acepta un diálogo de
prompt
.
-
DialogMessageType
Es el tipo de diálogo modal que solicitó el invitado.
Enum
"alert"
"confirm"
"prompt"
DownloadPermissionRequest
Es el tipo de objeto request
que acompaña a un evento download
permissionrequest
del DOM.
Propiedades
-
requestMethod
string
Es el tipo de solicitud HTTP (p.ej.,
GET
) asociado a la solicitud de descarga. -
url
string
Es la URL de descarga solicitada.
-
allow
void
Permite la solicitud de permiso.
La función
allow
se ve de la siguiente manera:() => {...}
-
deny
void
Rechaza la solicitud de permiso. Este es el comportamiento predeterminado si no se llama a
allow
.La función
deny
se ve de la siguiente manera:() => {...}
ExitReason
Cadena que indica el motivo de la salida.
Enum
"normal"
"abnormal"
"crashed"
"killed"
"oom killed"
"oom"
"no se pudo iniciar"
"integrity failure"
FileSystemPermissionRequest
Es el tipo de objeto request
que acompaña a un evento filesystem
permissionrequest
del DOM.
Propiedades
-
url
string
Es la URL del iframe que solicita acceso al sistema de archivos local.
-
allow
void
Permite la solicitud de permiso.
La función
allow
se ve de la siguiente manera:() => {...}
-
deny
void
Rechaza la solicitud de permiso.
La función
deny
se ve de la siguiente manera:() => {...}
FindCallbackResults
Contiene todos los resultados de la solicitud de búsqueda.
Propiedades
-
activeMatchOrdinal
número
Número ordinal de la coincidencia actual.
-
cancelado
booleano
Indica si se canceló esta solicitud de búsqueda.
-
numberOfMatches
número
Es la cantidad de veces que se encontró
searchText
en la página. -
selectionRect
Describe un rectángulo alrededor de la coincidencia activa en coordenadas de pantalla.
FindOptions
Son las opciones de la solicitud de búsqueda.
Propiedades
-
hacia atrás
booleano opcional
Es una marca para encontrar coincidencias en orden inverso. El valor predeterminado es
false
. -
matchCase
booleano opcional
Es una marca para que coincida con la distinción entre mayúsculas y minúsculas. El valor predeterminado es
false
.
FullscreenPermissionRequest
Es el tipo de objeto request
que acompaña a un evento fullscreen
permissionrequest
del DOM.
Propiedades
-
origin
string
Es el origen del iframe dentro del
webview
que inició la solicitud de pantalla completa. -
allow
void
Permite la solicitud de permiso.
La función
allow
se ve de la siguiente manera:() => {...}
-
deny
void
Rechaza la solicitud de permiso.
La función
deny
se ve de la siguiente manera:() => {...}
GeolocationPermissionRequest
Es el tipo de objeto request
que acompaña a un evento geolocation
permissionrequest
del DOM.
Propiedades
-
url
string
Es la URL del iframe que solicita acceso a los datos de ubicación geográfica.
-
allow
void
Permite la solicitud de permiso.
La función
allow
se ve de la siguiente manera:() => {...}
-
deny
void
Rechaza la solicitud de permiso. Este es el comportamiento predeterminado si no se llama a
allow
.La función
deny
se ve de la siguiente manera:() => {...}
HidPermissionRequest
Es el tipo de objeto request
que acompaña a un evento hid
permissionrequest
del DOM.
Propiedades
-
url
string
Es la URL del iframe que solicita acceso a la API de HID.
-
allow
void
Permite la solicitud de permiso.
La función
allow
se ve de la siguiente manera:() => {...}
-
deny
void
Rechaza la solicitud de permiso. Este es el comportamiento predeterminado si no se llama a
allow
.La función
deny
se ve de la siguiente manera:() => {...}
InjectDetails
Son los detalles de la secuencia de comandos o el CSS que se insertarán. Se debe configurar el código o la propiedad del archivo, pero no ambos al mismo tiempo.
Propiedades
-
código
cadena opcional
Es el código de JavaScript o CSS que se insertará.
Advertencia: Ten cuidado cuando uses el parámetro
code
. El uso incorrecto puede exponer tu app a ataques de secuencias de comandos entre sitios. -
archivo
cadena opcional
Archivo CSS o JavaScript que se inyectará.
InjectionItems
Es el tipo de elemento de inserción: código o conjunto de archivos.
Propiedades
-
código
cadena opcional
Es el código JavaScript o CSS que se insertará en las páginas coincidentes.
-
archivos
string[] opcional
Es la lista de archivos JavaScript o CSS que se insertarán en las páginas coincidentes. Se insertan en el orden en que aparecen en este array.
LoadAbortReason
Es una cadena que indica qué tipo de anulación se produjo. No se garantiza que esta cadena no deje de ser compatible con versiones anteriores entre lanzamientos. No debes analizar su contenido ni actuar en función de él. También es posible que, en algunos casos, se informe un error que no se encuentre en esta lista.
Enum
"ERR_ABORTED"
"ERR_INVALID_URL"
"ERR_DISALLOWED_URL_SCHEME"
"ERR_BLOCKED_BY_CLIENT"
"ERR_ADDRESS_UNREACHABLE"
"ERR_EMPTY_RESPONSE"
"ERR_FILE_NOT_FOUND"
"ERR_UNKNOWN_URL_SCHEME"
LoadPluginPermissionRequest
Es el tipo de objeto request
que acompaña a un evento loadplugin
permissionrequest
del DOM.
Propiedades
-
identificador
string
Es la cadena de identificador del complemento.
-
nombre
string
Es el nombre visible del complemento.
-
allow
void
Permite la solicitud de permiso. Este es el comportamiento predeterminado si no se llama a
deny
.La función
allow
se ve de la siguiente manera:() => {...}
-
deny
void
Rechaza la solicitud de permiso.
La función
deny
se ve de la siguiente manera:() => {...}
MediaPermissionRequest
Es el tipo de objeto request
que acompaña a un evento media
permissionrequest
del DOM.
Propiedades
-
url
string
Es la URL del iframe que solicita acceso a los medios del usuario.
-
allow
void
Permite la solicitud de permiso.
La función
allow
se ve de la siguiente manera:() => {...}
-
deny
void
Rechaza la solicitud de permiso. Este es el comportamiento predeterminado si no se llama a
allow
.La función
deny
se ve de la siguiente manera:() => {...}
NewWindow
Interfaz adjunta a eventos del DOM newwindow
.
Propiedades
-
adjuntar
void
Adjunta la página de destino solicitada a un elemento
webview
existente.La función
attach
se ve de la siguiente manera:(webview: object) => {...}
-
webview
objeto
Es el elemento
webview
al que se debe adjuntar la página de destino.
-
-
descartar
void
Cancela la solicitud de ventana nueva.
La función
discard
se ve de la siguiente manera:() => {...}
PermissionType
Es el tipo de permiso que se solicita.
Enum
"media"
"geolocation"
"pointerLock"
"download"
"loadplugin"
"filesystem"
"fullscreen"
"hid"
PointerLockPermissionRequest
Es el tipo de objeto request
que acompaña a un evento pointerLock
permissionrequest
del DOM.
Propiedades
-
lastUnlockedBySelf
booleano
Indica si el fotograma solicitante fue el cliente más reciente en mantener el bloqueo del puntero.
-
url
string
Es la URL del iframe que solicita el bloqueo del puntero.
-
userGesture
booleano
Indica si se solicitó el bloqueo del puntero como resultado de un gesto de entrada del usuario.
-
allow
void
Permite la solicitud de permiso.
La función
allow
se ve de la siguiente manera:() => {...}
-
deny
void
Rechaza la solicitud de permiso. Este es el comportamiento predeterminado si no se llama a
allow
.La función
deny
se ve de la siguiente manera:() => {...}
SelectionRect
Describe un rectángulo en coordenadas de pantalla.
La semántica de contención es similar a la de un array, es decir, la coordenada (left, top)
se considera contenida por el rectángulo, pero la coordenada (left + width, top)
no.
Propiedades
-
alto
número
Altura del rectángulo.
-
izquierda
número
Distancia desde el borde izquierdo de la pantalla hasta el borde izquierdo del rectángulo.
-
superior
número
Distancia desde el borde superior de la pantalla hasta el borde superior del rectángulo.
-
ancho
número
Ancho del rectángulo.
StopFindingAction
Determina qué hacer con la partida activa después de que finaliza la sesión de búsqueda. clear
borrará el resaltado sobre la coincidencia activa; keep
mantendrá resaltada la coincidencia activa; activate
mantendrá resaltada la coincidencia activa y simulará un clic del usuario en esa coincidencia. La acción predeterminada es keep
.
Enum
"clear"
"keep"
"activar"
WebRequestEventInterface
Interfaz que proporciona acceso a los eventos de webRequest en la página de invitado. Consulta la API de extensiones chrome.webRequest para obtener detalles sobre el ciclo de vida de webRequest y los conceptos relacionados. Nota: El evento chrome.webRequest.onActionIgnored no se admite en las vistas web.
Para ilustrar cómo difiere el uso de la API de webRequest de las extensiones, considera el siguiente código de ejemplo que bloquea cualquier solicitud de invitado para las URLs que coinciden con *://www.evil.com/*
:
webview.request.onBeforeRequest.addListener(
function(details) { return {cancel: true}; },
{urls: ["*://www.evil.com/*"]},
["blocking"]);
Además, esta interfaz admite reglas webRequest declarativas a través de los eventos onRequest
y onMessage
. Consulta declarativeWebRequest
para obtener detalles de la API.
Ten en cuenta que las condiciones y las acciones para las webRequests de WebView declarativas deben crearse a partir de sus contrapartes de chrome.webViewRequest.*
. En el siguiente ejemplo de código, se bloquean de forma declarativa todas las solicitudes a "example.com"
en la WebView myWebview
:
var rule = {
conditions: [
new chrome.webViewRequest.RequestMatcher({ url: { hostSuffix: 'example.com' } })
],
actions: [ new chrome.webViewRequest.CancelRequest() ]
};
myWebview.request.onRequest.addRules([rule]);
WindowOpenDisposition
Es la disposición solicitada de la ventana nueva.
Enum
"ignore"
"save_to_disk"
"current_tab"
"new_background_tab"
"new_foreground_tab"
"new_window"
"new_popup"
ZoomMode
Define cómo se controla el zoom en webview
.
Enum
"Por origen"
Los cambios de zoom persistirán en el origen de la página con zoom, es decir, todas las demás vistas web de la misma partición a las que se navegue a ese mismo origen también tendrán zoom. Además, los cambios de zoom de per-origin
se guardan con el origen, lo que significa que, cuando se navega a otras páginas del mismo origen, todas se mostrarán con el mismo factor de zoom.
"por vista"
Los cambios de zoom solo se aplican en esta vista web, y los cambios de zoom en otras vistas web no afectarán el zoom de esta vista web. Además, los cambios de zoom de per-view
se restablecen en la navegación. Navegar por una WebView siempre cargará las páginas con sus factores de zoom por origen (dentro del alcance de la partición).
"disabled"
Inhabilita todo el zoom en la WebView. El contenido volverá al nivel de zoom predeterminado y se ignorarán todos los intentos de cambiar el zoom.
Propiedades
contentWindow
Es una referencia de objeto que se puede usar para publicar mensajes en la página de invitado.
Tipo
contextMenus
Es similar a la API de ContextMenus de Chrome, pero se aplica a webview
en lugar del navegador. Usa la API de webview.contextMenus
para agregar elementos al menú contextual de webview
. Puedes elegir a qué tipos de objetos se aplican tus adiciones al menú contextual, como imágenes, hipervínculos y páginas.
Tipo
request
Interfaz que proporciona acceso a los eventos de webRequest en la página de invitado.
Métodos
addContentScripts()
chrome.webviewTag.addContentScripts(
contentScriptList: [ContentScriptDetails, ...ContentScriptDetails[]],
): void
Agrega reglas de inserción de secuencias de comandos de contenido a webview
. Cuando el webview
navega a una página que coincide con una o más reglas, se insertarán las secuencias de comandos asociadas. Puedes agregar reglas de forma programática o actualizar las existentes.
En el siguiente ejemplo, se agregan dos reglas a webview
: "myRule" y "anotherRule".
webview.addContentScripts([
{
name: 'myRule',
matches: ['http://www.foo.com/*'],
css: { files: ['mystyles.css'] },
js: { files: ['jquery.js', 'myscript.js'] },
run_at: 'document_start'
},
{
name: 'anotherRule',
matches: ['http://www.bar.com/*'],
js: { code: "document.body.style.backgroundColor = 'red';" },
run_at: 'document_end'
}]);
...
// Navigates webview.
webview.src = 'http://www.foo.com';
Puedes aplazar la llamada a addContentScripts hasta que necesites insertar secuencias de comandos.
En el siguiente ejemplo, se muestra cómo reemplazar una regla existente.
webview.addContentScripts([{
name: 'rule',
matches: ['http://www.foo.com/*'],
js: { files: ['scriptA.js'] },
run_at: 'document_start'}]);
// Do something.
webview.src = 'http://www.foo.com/*';
...
// Overwrite 'rule' defined before.
webview.addContentScripts([{
name: 'rule',
matches: ['http://www.bar.com/*'],
js: { files: ['scriptB.js'] },
run_at: 'document_end'}]);
Si se navegó a webview
hasta el origen (p.ej., foo.com) y se llama a webview.addContentScripts
para agregar "myRule", debes esperar a la siguiente navegación para que se inyecten los secuencias de comandos. Si quieres una inyección inmediata, executeScript
hará lo correcto.
Las reglas se conservan incluso si el proceso invitado falla o se finaliza, o incluso si se cambia el elemento superior de webview
.
Consulta la documentación de las secuencias de comandos de contenido para obtener más detalles.
Parámetros
-
contentScriptList
Son los detalles de las secuencias de comandos de contenido que se agregarán.
back()
chrome.webviewTag.back(
callback?: function,
): void
Navega hacia atrás una entrada del historial, si es posible. Equivale a go(-1)
.
Parámetros
-
callback
función opcional
Chrome 44 y versiones posterioresEl parámetro
callback
se ve de la siguiente manera:(success: boolean) => void
-
correcto
booleano
Indica si la navegación se realizó correctamente.
-
canGoBack()
chrome.webviewTag.canGoBack(): boolean
Indica si es posible navegar hacia atrás en el historial. El estado de esta función se almacena en caché y se actualiza antes de cada loadcommit
, por lo que el mejor lugar para llamarla es en loadcommit
.
Muestra
-
booleano
canGoForward()
chrome.webviewTag.canGoForward(): boolean
Indica si es posible navegar hacia adelante en el historial. El estado de esta función se almacena en caché y se actualiza antes de cada loadcommit
, por lo que el mejor lugar para llamarla es en loadcommit
.
Muestra
-
booleano
captureVisibleRegion()
chrome.webviewTag.captureVisibleRegion(
options?: ImageDetails,
callback: function,
): void
Captura la región visible de la vista web.
Parámetros
-
opciones
ImageDetails opcional
-
callback
función
El parámetro
callback
se ve de la siguiente manera:(dataUrl: string) => void
-
dataUrl
string
Es una URL de datos que codifica una imagen del área visible de la pestaña capturada. Se puede asignar a la propiedad "src" de un elemento de imagen HTML para su visualización.
-
clearData()
chrome.webviewTag.clearData(
options: ClearDataOptions,
types: ClearDataTypeSet,
callback?: function,
): void
Borra los datos de navegación de la partición webview
.
Parámetros
-
opciones
Opciones que determinan qué datos se borrarán.
-
Tipos
Son los tipos de datos que se borrarán.
-
callback
función opcional
El parámetro
callback
se ve de la siguiente manera:() => void
executeScript()
chrome.webviewTag.executeScript(
details: InjectDetails,
callback?: function,
): void
Inserta código JavaScript en la página de invitado.
En el siguiente código de muestra, se usa la inserción de secuencias de comandos para establecer el color de fondo de la página de invitado en rojo:
webview.executeScript({ code: "document.body.style.backgroundColor = 'red'" });
Parámetros
-
detalles
Son los detalles de la secuencia de comandos que se ejecutará.
-
callback
función opcional
El parámetro
callback
se ve de la siguiente manera:(result?: any[]) => void
-
resultado
any[] opcional
Es el resultado de la secuencia de comandos en cada fotograma insertado.
-
find()
chrome.webviewTag.find(
searchText: string,
options?: FindOptions,
callback?: function,
): void
Inicia una solicitud de búsqueda en la página.
Parámetros
-
searchText
string
Es la cadena que se buscará en la página.
-
opciones
FindOptions opcional
Son las opciones de la solicitud de búsqueda.
-
callback
función opcional
El parámetro
callback
se ve de la siguiente manera:(results?: FindCallbackResults) => void
-
resultados
FindCallbackResults opcional
Contiene todos los resultados de la solicitud de búsqueda.
results
se puede omitir si no se utiliza en el cuerpo de la función de devolución de llamada; por ejemplo, si la devolución de llamada solo se usa para discernir cuándo se completó la solicitud de búsqueda.
-
forward()
chrome.webviewTag.forward(
callback?: function,
): void
Navega hacia adelante una entrada del historial, si es posible. Equivale a go(1)
.
Parámetros
-
callback
función opcional
Chrome 44 y versiones posterioresEl parámetro
callback
se ve de la siguiente manera:(success: boolean) => void
-
correcto
booleano
Indica si la navegación se realizó correctamente.
-
getAudioState()
chrome.webviewTag.getAudioState(
callback: function,
): void
Consulta el estado del audio.
Parámetros
-
callback
función
El parámetro
callback
se ve de la siguiente manera:(audible: boolean) => void
-
Audible
booleano
-
getProcessId()
chrome.webviewTag.getProcessId(): number
Devuelve el ID de proceso interno de Chrome para el proceso actual de la página web de invitado, lo que permite que los incorporadores sepan cuántos invitados se verían afectados si se finaliza el proceso. Dos invitados compartirán un proceso solo si pertenecen a la misma app y tienen el mismo ID de partición de almacenamiento. La llamada es síncrona y devuelve la noción almacenada en caché del ID del proceso actual del incorporador. El ID del proceso no es el mismo que el ID del proceso del sistema operativo.
Muestra
-
número
getUserAgent()
chrome.webviewTag.getUserAgent(): string
Devuelve la cadena de usuario-agente que usa webview
para las solicitudes de páginas de invitados.
Muestra
-
string
getZoom()
chrome.webviewTag.getZoom(
callback: function,
): void
Obtiene el factor de zoom actual.
Parámetros
-
callback
función
El parámetro
callback
se ve de la siguiente manera:(zoomFactor: number) => void
-
zoomFactor
número
Es el factor de zoom actual.
-
getZoomMode()
chrome.webviewTag.getZoomMode(
callback: function,
): void
Obtiene el modo de zoom actual.
Parámetros
-
callback
función
El parámetro
callback
se ve de la siguiente manera:(ZoomMode: ZoomMode) => void
-
ZoomMode
Es el modo de zoom actual del
webview
.
-
go()
chrome.webviewTag.go(
relativeIndex: number,
callback?: function,
): void
Navega a una entrada del historial usando un índice del historial relativo a la navegación actual. Si la navegación solicitada es imposible, este método no tendrá efecto.
Parámetros
-
relativeIndex
número
Índice de historial relativo al que se debe navegar con
webview
. Por ejemplo, un valor de2
navegará hacia adelante 2 entradas del historial si es posible; un valor de-3
navegará hacia atrás 3 entradas. -
callback
función opcional
El parámetro
callback
se ve de la siguiente manera:(success: boolean) => void
-
correcto
booleano
Indica si la navegación se realizó correctamente.
-
insertCSS()
chrome.webviewTag.insertCSS(
details: InjectDetails,
callback?: function,
): void
Inserta CSS en la página de invitado.
Parámetros
-
detalles
Son los detalles del CSS que se insertará.
-
callback
función opcional
El parámetro
callback
se ve de la siguiente manera:() => void
isAudioMuted()
chrome.webviewTag.isAudioMuted(
callback: function,
): void
Consulta si el audio está silenciado.
Parámetros
-
callback
función
El parámetro
callback
se ve de la siguiente manera:(muted: boolean) => void
-
silenciado
booleano
-
isSpatialNavigationEnabled()
chrome.webviewTag.isSpatialNavigationEnabled(
callback: function,
): void
Consulta si la navegación espacial está habilitada para la WebView.
Parámetros
-
función
El parámetro
callback
se ve de la siguiente manera:(enabled: boolean) => void
-
booleano
-
isUserAgentOverridden()
chrome.webviewTag.isUserAgentOverridden(): void
Indica si webviewTag.setUserAgentOverride
anuló o no la cadena del agente de usuario de webview
.
loadDataWithBaseUrl()
chrome.webviewTag.loadDataWithBaseUrl(
dataUrl: string,
baseUrl: string,
virtualUrl?: string,
): void
Carga una URL de datos con una URL base especificada que se usa para los vínculos relativos. De forma opcional, se puede proporcionar una URL virtual para que se muestre al usuario en lugar de la URL de datos.
Parámetros
-
dataUrl
string
Es la URL de los datos que se cargarán.
-
baseUrl
string
Es la URL base que se usará para los vínculos relativos.
-
virtualUrl
cadena opcional
Es la URL que se mostrará al usuario (en la barra de direcciones).
print()
chrome.webviewTag.print(): void
Imprime el contenido de webview
. Esto equivale a llamar a la función de impresión con secuencias de comandos desde el propio webview
.
reload()
chrome.webviewTag.reload(): void
Vuelve a cargar la página de nivel superior actual.
removeContentScripts()
chrome.webviewTag.removeContentScripts(
scriptNameList?: string[],
): void
Quita secuencias de comandos de contenido de un objeto webview
.
En el siguiente ejemplo, se quita "myRule", que se había agregado antes.
webview.removeContentScripts(['myRule']);
Puedes quitar todas las reglas llamando a:
webview.removeContentScripts();
Parámetros
-
scriptNameList
string[] opcional
Es una lista de nombres de secuencias de comandos de contenido que se quitarán. Si la lista está vacía, se quitarán todas las secuencias de comandos de contenido agregadas a
webview
.
setAudioMuted()
chrome.webviewTag.setAudioMuted(
mute: boolean,
): void
Establece el estado de silencio de audio de la WebView.
Parámetros
-
silenciar
booleano
Valor de silencio de audio
setSpatialNavigationEnabled()
chrome.webviewTag.setSpatialNavigationEnabled(
enabled: boolean,
): void
Establece el estado de navegación espacial de la WebView.
Parámetros
-
booleano
Valor del estado de navegación espacial.
setUserAgentOverride()
chrome.webviewTag.setUserAgentOverride(
userAgent: string,
): void
Anula la cadena de usuario-agente que usa webview
para las solicitudes de páginas de invitados. La anulación hará que los valores del encabezado de sugerencia del cliente User-Agent y los valores que devuelve navigator.userAgentData
estén vacíos para las solicitudes de páginas de invitados a las que se aplique esta anulación.
Parámetros
-
userAgent
string
Es la cadena de usuario-agente que se usará.
setZoom()
chrome.webviewTag.setZoom(
zoomFactor: number,
callback?: function,
): void
Cambia el factor de zoom de la página. El alcance y la persistencia de este cambio se determinan según el modo de zoom actual de la WebView (consulta webviewTag.ZoomMode
).
Parámetros
-
zoomFactor
número
Es el nuevo factor de zoom.
-
callback
función opcional
El parámetro
callback
se ve de la siguiente manera:() => void
setZoomMode()
chrome.webviewTag.setZoomMode(
ZoomMode: ZoomMode,
callback?: function,
): void
Establece el modo de zoom de webview
.
Parámetros
-
ZoomMode
Define cómo se controla el zoom en
webview
. -
callback
función opcional
El parámetro
callback
se ve de la siguiente manera:() => void
stop()
chrome.webviewTag.stop(): void
Detiene la carga de la navegación webview
actual si está en curso.
stopFinding()
chrome.webviewTag.stopFinding(
action?: StopFindingAction,
): void
Finaliza la sesión de búsqueda actual (borra todos los resaltados) y cancela todas las solicitudes de búsqueda en curso.
Parámetros
-
acción
StopFindingAction opcional
Determina qué hacer con la partida activa después de que finaliza la sesión de búsqueda.
clear
borrará el resaltado sobre la coincidencia activa;keep
mantendrá resaltada la coincidencia activa;activate
mantendrá resaltada la coincidencia activa y simulará un clic del usuario en esa coincidencia. La acción predeterminada eskeep
.
terminate()
chrome.webviewTag.terminate(): void
Cancela de forma forzosa el proceso de renderización de la página web para invitados. Esto puede afectar a varias etiquetas webview
en la app actual si comparten el mismo proceso, pero no afectará a las etiquetas webview
en otras apps.
Eventos
close
chrome.webviewTag.close.addListener(
callback: function,
)
Se activa cuando la ventana secundaria intenta cerrarse.
En el siguiente código de ejemplo, se navega de webview
a about:blank
cuando el huésped intenta cerrarse.
webview.addEventListener('close', function() {
webview.src = 'about:blank';
});
Parámetros
-
callback
función
El parámetro
callback
se ve de la siguiente manera:() => void
consolemessage
chrome.webviewTag.consolemessage.addListener(
callback: function,
)
Se activa cuando la ventana de invitado registra un mensaje de la consola.
En el siguiente ejemplo de código, se reenvían todos los mensajes de registro a la consola del incorporador sin tener en cuenta el nivel de registro ni otras propiedades.
webview.addEventListener('consolemessage', function(e) {
console.log('Guest page logged a message: ', e.message);
});
Parámetros
-
callback
función
El parámetro
callback
se ve de la siguiente manera:(level: number, message: string, line: number, sourceId: string) => void
-
level
número
-
mensaje
string
-
línea
número
-
sourceId
string
-
contentload
chrome.webviewTag.contentload.addListener(
callback: function,
)
Se activa cuando la ventana secundaria activa un evento load
, es decir, cuando se carga un documento nuevo. Esto no incluye la navegación de páginas dentro del documento actual ni las cargas de recursos asíncronas.
El siguiente código de ejemplo modifica el tamaño de fuente predeterminado del elemento body
del invitado después de que se carga la página:
webview.addEventListener('contentload', function() {
webview.executeScript({ code: 'document.body.style.fontSize = "42px"' });
});
Parámetros
-
callback
función
El parámetro
callback
se ve de la siguiente manera:() => void
dialog
chrome.webviewTag.dialog.addListener(
callback: function,
)
Se activa cuando la ventana de invitado intenta abrir un diálogo modal a través de window.alert
, window.confirm
o window.prompt
.
El control de este evento bloqueará el proceso invitado hasta que cada objeto de escucha de eventos regrese o el objeto dialog
se vuelva inaccesible (si se llamó a preventDefault()
).
El comportamiento predeterminado es cancelar el diálogo.
Parámetros
-
callback
función
El parámetro
callback
se ve de la siguiente manera:(messageType: DialogMessageType, messageText: string, dialog: DialogController) => void
-
messageType
-
messageText
string
-
diálogo
-
exit
chrome.webviewTag.exit.addListener(
callback: function,
)
Se activa cuando se cierra el proceso que renderiza el contenido web del invitado.
El siguiente código de ejemplo mostrará un mensaje de despedida cada vez que falle la página de invitados:
webview.addEventListener('exit', function(e) {
if (e.reason === 'crash') {
webview.src = 'data:text/plain,Goodbye, world!';
}
});
Parámetros
-
callback
función
El parámetro
callback
se ve de la siguiente manera:(details: object) => void
-
detalles
objeto
-
processID
número
Es el ID interno de Chrome del proceso que se cerró.
-
Reason
Cadena que indica el motivo de la salida.
-
-
findupdate
chrome.webviewTag.findupdate.addListener(
callback: function,
)
Se activa cuando hay nuevos resultados de búsqueda disponibles para una solicitud de búsqueda activa. Esto puede suceder varias veces para una sola solicitud de búsqueda a medida que se encuentran coincidencias.
Parámetros
-
callback
función
El parámetro
callback
se ve de la siguiente manera:(searchText: string, numberOfMatches: number, activeMatchOrdinal: number, selectionRect: SelectionRect, canceled: boolean, finalUpdate: string) => void
-
searchText
string
-
numberOfMatches
número
-
activeMatchOrdinal
número
-
selectionRect
-
cancelado
booleano
-
finalUpdate
string
-
loadabort
chrome.webviewTag.loadabort.addListener(
callback: function,
)
Se activa cuando se anula una carga de nivel superior sin confirmarla. Se imprimirá un mensaje de error en la consola, a menos que se evite el comportamiento predeterminado del evento.
Nota: Cuando se anula la carga de un recurso, un evento loadabort
se seguirá de un evento loadstop
, incluso si se anularon todas las cargas confirmadas desde el último evento loadstop
(si hubo alguno).
Nota: Cuando se anula la carga de una URL de about o de JavaScript, se activará loadabort
y, luego, se navegará a webview
a "about:blank".
Parámetros
-
callback
función
El parámetro
callback
se ve de la siguiente manera:(url: string, isTopLevel: boolean, code: number, reason: LoadAbortReason) => void
-
url
string
-
isTopLevel
booleano
-
código
número
-
Reason
-
loadcommit
chrome.webviewTag.loadcommit.addListener(
callback: function,
)
Se activa cuando se confirma una carga. Esto incluye la navegación dentro del documento actual y las cargas a nivel del documento de subframes, pero no incluye las cargas de recursos asíncronas.
Parámetros
-
callback
función
El parámetro
callback
se ve de la siguiente manera:(url: string, isTopLevel: boolean) => void
-
url
string
-
isTopLevel
booleano
-
loadredirect
chrome.webviewTag.loadredirect.addListener(
callback: function,
)
Se activa cuando una solicitud de carga de nivel superior se redireccionó a una URL diferente.
Parámetros
-
callback
función
El parámetro
callback
se ve de la siguiente manera:(oldUrl: string, newUrl: string, isTopLevel: boolean) => void
-
oldUrl
string
-
newUrl
string
-
isTopLevel
booleano
-
loadstart
chrome.webviewTag.loadstart.addListener(
callback: function,
)
Se activa cuando comienza una carga.
Parámetros
-
callback
función
El parámetro
callback
se ve de la siguiente manera:(url: string, isTopLevel: boolean) => void
-
url
string
-
isTopLevel
booleano
-
loadstop
chrome.webviewTag.loadstop.addListener(
callback: function,
)
Se activa cuando se completan todas las cargas a nivel del fotograma en una página secundaria (incluidos todos sus subfotogramas). Esto incluye la navegación dentro del documento actual y las cargas a nivel del documento de subframes, pero no incluye las cargas de recursos asíncronas. Este evento se activa cada vez que la cantidad de cargas a nivel del documento pasa de una (o más) a cero. Por ejemplo, si una página ya terminó de cargarse (es decir, loadstop
ya se activó una vez) crea un iframe nuevo que carga una página y, luego, se activará un segundo loadstop
cuando se complete la carga de la página del iframe. Este patrón se observa comúnmente en las páginas que cargan anuncios.
Nota: Cuando se anula una carga confirmada, un evento loadstop
seguirá a un evento loadabort
, incluso si se anularon todas las cargas confirmadas desde el último evento loadstop
(si hubo alguno).
Parámetros
-
callback
función
El parámetro
callback
se ve de la siguiente manera:() => void
newwindow
chrome.webviewTag.newwindow.addListener(
callback: function,
)
Se activa cuando la página de invitado intenta abrir una nueva ventana del navegador.
El siguiente ejemplo de código creará un nuevo webview
en el incorporador y navegará a él para cada ventana nueva solicitada:
webview.addEventListener('newwindow', function(e) {
var newWebview = document.createElement('webview');
document.body.appendChild(newWebview);
e.window.attach(newWebview);
});
Parámetros
-
callback
función
El parámetro
callback
se ve de la siguiente manera:(window: NewWindow, targetUrl: string, initialWidth: number, initialHeight: number, name: string, windowOpenDisposition: WindowOpenDisposition) => void
-
ventana
-
targetUrl
string
-
initialWidth
número
-
initialHeight
número
-
nombre
string
-
windowOpenDisposition
-
permissionrequest
chrome.webviewTag.permissionrequest.addListener(
callback: function,
)
Se activa cuando la página de invitado necesita solicitar un permiso especial del incorporador.
El siguiente código de ejemplo otorgará acceso a la página de invitado a la API de webkitGetUserMedia
. Ten en cuenta que una app que use este código de ejemplo debe especificar los permisos de manifiesto audioCapture
o videoCapture
:
webview.addEventListener('permissionrequest', function(e) {
if (e.permission === 'media') {
e.request.allow();
}
});
Parámetros
-
callback
función
El parámetro
callback
se ve de la siguiente manera:(permission: PermissionType, request: object) => void
-
permiso
-
solicitud
objeto
-
responsive
chrome.webviewTag.responsive.addListener(
callback: function,
)
Se activa cuando el proceso que renderiza el contenido web invitado vuelve a responder después de no responder.
El siguiente código de ejemplo atenuará el elemento webview
a medida que se vuelva responsivo o no responsivo:
webview.style.webkitTransition = 'opacity 250ms';
webview.addEventListener('unresponsive', function() {
webview.style.opacity = '0.5';
});
webview.addEventListener('responsive', function() {
webview.style.opacity = '1';
});
Parámetros
-
callback
función
El parámetro
callback
se ve de la siguiente manera:(processID: number) => void
-
processID
número
-
sizechanged
chrome.webviewTag.sizechanged.addListener(
callback: function,
)
Se activa cuando se cambia el tamaño del contenido web incorporado a través de autosize
. Solo se activa si autosize
está habilitado.
Parámetros
-
callback
función
El parámetro
callback
se ve de la siguiente manera:(oldWidth: number, oldHeight: number, newWidth: number, newHeight: number) => void
-
oldWidth
número
-
oldHeight
número
-
newWidth
número
-
newHeight
número
-
unresponsive
chrome.webviewTag.unresponsive.addListener(
callback: function,
)
Se activa cuando el proceso que renderiza el contenido web invitado deja de responder. Este evento se generará una vez con un evento adaptable coincidente si el invitado comienza a responder de nuevo.
Parámetros
-
callback
función
El parámetro
callback
se ve de la siguiente manera:(processID: number) => void
-
processID
número
-
zoomchange
chrome.webviewTag.zoomchange.addListener(
callback: function,
)
Se activa cuando cambia el zoom de la página.
Parámetros
-
callback
función
El parámetro
callback
se ve de la siguiente manera:(oldZoomFactor: number, newZoomFactor: number) => void
-
oldZoomFactor
número
-
newZoomFactor
número
-