chrome.webviewTag

Descrição

Use a tag webview para carregar ativamente conteúdo ao vivo da Web pela rede e incorporá-lo ao seu app do Chrome. Seu app pode controlar a aparência do webview e interagir com o conteúdo da Web, iniciar navegações em uma página da Web incorporada, reagir a eventos de erro que acontecem nela e muito mais (consulte Uso).

Permissões

webview

Disponibilidade

Somente no ChromeOS

Tipos

ClearDataOptions

Opções que determinam quais dados devem ser apagados por clearData.

Propriedades

  • desde

    número optional

    Limpa os dados acumulados na data ou após ela, representados em milissegundos desde o período (acessível pelo método getTime do objeto Date do JavaScript). Se ausente, o padrão será 0 (que removeria todos os dados de navegação).

ClearDataTypeSet

Um conjunto de tipos de dados. As propriedades ausentes são interpretadas como false.

Propriedades

  • appcache

    booleano opcional

    Appcaches de sites.

  • cache

    booleano opcional

    Chrome 44+

    Desde o Chrome 43. O cache do navegador. Observação: ao remover dados, todo o cache é limpo, não apenas o intervalo especificado.

  • cookies

    booleano opcional

    Os cookies da partição.

  • fileSystems

    booleano opcional

    Sistemas de arquivos de sites.

  • indexedDB

    booleano opcional

    Dados do IndexedDB dos sites.

  • localStorage

    booleano opcional

    Dados de armazenamento local de sites.

  • persistentCookies

    booleano opcional

    Chrome 58 ou mais recente

    Os cookies persistentes da partição.

  • sessionCookies

    booleano opcional

    Chrome 58 ou mais recente

    Os cookies de sessão da partição.

  • webSQL

    booleano opcional

    Dados do WebSQL dos sites.

ContentScriptDetails

Chrome 44+

Detalhes do script de conteúdo a ser injetado. Consulte a documentação sobre scripts de conteúdo para mais detalhes.

Propriedades

  • all_frames

    booleano opcional

    Se all_frames for true, isso significa que o JavaScript ou CSS precisa ser injetado em todos os frames da página atual. Por padrão, all_frames é false, e o JavaScript ou CSS é injetado apenas no frame superior.

  • css

    InjectionItems opcional

    O código CSS ou uma lista de arquivos CSS a serem injetados nas páginas correspondentes. Eles são injetados na ordem em que aparecem, antes que qualquer DOM seja construído ou exibido para a página.

  • exclude_globs

    string[] opcional

    Aplicado após as correspondências para excluir URLs que correspondem a esse glob. Destinado a emular a palavra-chave @exclude do Greasemonkey.

  • exclude_matches

    string[] opcional

    Exclui as páginas em que esse script de conteúdo seria injetado.

  • include_globs

    string[] opcional

    Aplicado após as correspondências para incluir apenas os URLs que também correspondem a esse glob. Destinado a emular a palavra-chave @include do Greasemonkey.

  • js

    InjectionItems opcional

    O código JavaScript ou uma lista de arquivos JavaScript a serem injetados nas páginas correspondentes. Eles são injetados na ordem em que aparecem.

  • match_about_blank

    booleano opcional

    Se o script de conteúdo deve ser inserido em about:blank e about:srcdoc. Os scripts de conteúdo só serão injetados nas páginas quando o URL herdado corresponder a um dos padrões declarados no campo de correspondências. O URL herdado é o URL do documento que criou o frame ou a janela. Não é possível inserir scripts de conteúdo em frames de sandbox.

  • correspondências

    string[]

    Especifica em quais páginas esse script de conteúdo será injetado.

  • nome

    string

    O nome do script de conteúdo a ser injetado.

  • run_at

    RunAt opcional

    O momento mais rápido em que o JavaScript ou CSS será injetado na guia. O padrão é "document_idle".

ContentWindow

Identificador de mensagens para uma janela de visitante.

Propriedades

  • postMessage

    void

    Posta uma mensagem no conteúdo da Web incorporado, desde que ele esteja mostrando uma página da origem de destino. Esse método fica disponível depois que a página é carregada. Detecte o evento contentload e chame o método.

    O convidado poderá enviar respostas ao incorporador postando uma mensagem para event.source no evento de mensagem que receber.

    Essa API é idêntica à API postMessage do HTML5 para comunicação entre páginas da Web. O incorporador pode detectar respostas adicionando um listener de eventos message ao próprio frame.

    A função postMessage é semelhante a:

    (message: any, targetOrigin: string) => {...}

    • mensagem

      qualquer

      Objeto de mensagem a ser enviado ao convidado.

    • targetOrigin

      string

      Especifica qual deve ser a origem da janela de convidado para que o evento seja enviado.

ContextMenuCreateProperties

Chrome 44+

Propriedades

  • checked

    booleano opcional

    O estado inicial de uma caixa de seleção ou item de rádio: verdadeiro para selecionado e falso para não selecionado. Somente um item de rádio pode ser selecionado por vez em um determinado grupo de itens de rádio.

  • contexts

    [ContextType, ...ContextType[]] opcional

    Lista de contextos em que esse item de menu vai aparecer. O padrão será ['page'] se nada for especificado.

  • documentUrlPatterns

    string[] opcional

    Permite restringir o item para que ele seja aplicado apenas a documentos com um URL que corresponda a um dos padrões fornecidos. Isso também se aplica aos frames. Para detalhes sobre o formato de um padrão, consulte Padrões de correspondência.

  • ativado

    booleano opcional

    Indica se este item do menu de contexto está ativado ou desativado. O valor padrão é true.

  • id

    string opcional

    O ID exclusivo a ser atribuído a este item. Obrigatório para páginas de eventos. Não pode ser igual a outro ID desta extensão.

  • parentId

    string | número opcional

    O ID de um item de menu pai, o que torna o item um filho de um item adicionado anteriormente.

  • targetUrlPatterns

    string[] opcional

    Semelhante a documentUrlPatterns, mas permite filtrar com base no atributo src das tags img/audio/video e no href das tags âncora.

  • título

    string opcional

    O texto que será exibido no item. É obrigatório, a menos que type seja "separator". Quando o contexto é "selection", você pode usar %s na string para mostrar o texto selecionado. Por exemplo, se o valor desse parâmetro for "Traduzir '%s' para Pig Latin" e o usuário selecionar a palavra "legal", o item do menu de contexto para a seleção será "Traduzir 'legal' para Pig Latin".

  • type

    ItemType opcional

    O tipo de item de menu. O padrão será "normal" se nada for especificado.

  • onclick

    void optional

    Uma função que será chamada de volta quando o item de menu for clicado.

    A função onclick é semelhante a:

    (info: OnClickData) => {...}

    • Informações sobre o item clicado e o contexto em que o clique ocorreu.

ContextMenus

Chrome 44+

Propriedades

  • onShow

    Event<functionvoidvoid>

    Disparado antes de mostrar um menu de contexto neste webview. Pode ser usado para desativar esse menu de contexto chamando event.preventDefault().

    A função onShow.addListener é semelhante a:

    (callback: function) => {...}

    • callback

      função

      O parâmetro callback é semelhante a:

      (event: object) => void

      • evento

        objeto

        • preventDefault

          void

          Chame essa função para impedir que o menu de contexto seja exibido.

          A função preventDefault é semelhante a:

          () => {...}

  • create

    void

    Cria um novo item de menu de contexto. Se ocorrer um erro durante a criação, talvez você só descubra quando o callback de criação for acionado. Os detalhes estarão em runtime.lastError.

    A função create é semelhante a:

    (createProperties: object, callback?: function) => {...}

    • createProperties

      objeto

      As propriedades usadas para criar o item

    • callback

      função optional

      O parâmetro callback é semelhante a:

      () => void

    • retorna

      string | número

      O ID do item recém-criado.

  • remover

    void

    Remove um item do menu de contexto.

    A função remove é semelhante a:

    (menuItemId: string | number, callback?: function) => {...}

    • menuItemId

      string | número

      O ID do item do menu de contexto a ser removido.

    • callback

      função optional

      O parâmetro callback é semelhante a:

      () => void

  • removeAll

    void

    Remove todos os itens do menu de contexto adicionados a este webview.

    A função removeAll é semelhante a:

    (callback?: function) => {...}

    • callback

      função optional

      O parâmetro callback é semelhante a:

      () => void

  • update

    void

    Atualiza um item de menu de contexto criado anteriormente.

    A função update é semelhante a:

    (id: string | number, updateProperties: object, callback?: function) => {...}

    • ID

      string | número

      O ID do item a ser atualizado.

    • updateProperties

      objeto

      As propriedades a serem atualizadas. Aceita os mesmos valores que a função de criação.

    • callback

      função optional

      O parâmetro callback é semelhante a:

      () => void

ContextMenuUpdateProperties

Chrome 44+

Propriedades

  • checked

    booleano opcional

    O estado de uma caixa de seleção ou item de rádio: verdadeiro para selecionado e falso para não selecionado. Somente um item de rádio pode ser selecionado por vez em um determinado grupo de itens de rádio.

  • contexts

    [ContextType, ...ContextType[]] opcional

    Lista de contextos em que esse item de menu vai aparecer.

  • documentUrlPatterns

    string[] opcional

    Permite restringir o item para que ele seja aplicado apenas a documentos com um URL que corresponda a um dos padrões fornecidos. Isso também se aplica aos frames. Para detalhes sobre o formato de um padrão, consulte Padrões de correspondência.

  • ativado

    booleano opcional

    Indica se este item do menu de contexto está ativado ou desativado.

  • parentId

    string | número opcional

    O ID de um item de menu pai, o que torna o item um filho de um item adicionado anteriormente. Observação: não é possível mudar um item para que ele seja filho de um dos próprios descendentes.

  • targetUrlPatterns

    string[] opcional

    Semelhante a documentUrlPatterns, mas permite filtrar com base no atributo src das tags img/audio/video e no href das tags âncora.

  • título

    string opcional

    O texto que será exibido no item.

  • tipo

    ItemType opcional

    O tipo de item de menu.

  • onclick

    void optional

    Uma função que será chamada de volta quando o item de menu for clicado.

    A função onclick é semelhante a:

    (info: OnClickData) => {...}

    • Informações sobre o item clicado e o contexto em que o clique ocorreu.

ContextType

Chrome 44+

Os diferentes contextos em que um menu pode aparecer. Especificar "all" é equivalente à combinação de todos os outros contextos.

Enumeração

"all"

"page"

"frame"

"selection"

"link"

"editable"

"image"

"video"

"audio"

DialogController

Interface anexada a eventos DOM dialog.

Propriedades

  • cancelar

    void

    Rejeitar a caixa de diálogo. Equivalente a clicar em "Cancelar" em uma caixa de diálogo confirm ou prompt.

    A função cancel é semelhante a:

    () => {...}

  • ok

    void

    Aceite a caixa de diálogo. Equivalente a clicar em "OK" em uma caixa de diálogo alert, confirm ou prompt.

    A função ok é semelhante a:

    (response?: string) => {...}

    • resposta

      string opcional

      A string de resposta a ser fornecida ao convidado ao aceitar uma caixa de diálogo prompt.

DialogMessageType

Chrome 141+

O tipo de caixa de diálogo modal solicitada pelo convidado.

Enumeração

"alert"

"confirm"

"prompt"

DownloadPermissionRequest

O tipo de objeto request que acompanha um evento DOM download permissionrequest.

Propriedades

  • requestMethod

    string

    O tipo de solicitação HTTP (por exemplo, GET) associado à solicitação de download.

  • url

    string

    O URL de download solicitado.

  • allow

    void

    Permita a solicitação de permissão.

    A função allow é semelhante a:

    () => {...}

  • deny

    void

    Negue a solicitação de permissão. Esse é o comportamento padrão se allow não for chamado.

    A função deny é semelhante a:

    () => {...}

ExitReason

Chrome 141+

String que indica o motivo da saída.

Enumeração

"normal"

"abnormal"

"crashed"

"killed"

"oom killed"

"oom"

"failed to launch"

"integrity failure"

FileSystemPermissionRequest

O tipo de objeto request que acompanha um evento DOM filesystem permissionrequest.

Propriedades

  • url

    string

    O URL do frame que solicita acesso ao sistema de arquivos local.

  • allow

    void

    Permita a solicitação de permissão.

    A função allow é semelhante a:

    () => {...}

  • deny

    void

    Negue a solicitação de permissão.

    A função deny é semelhante a:

    () => {...}

FindCallbackResults

Contém todos os resultados da solicitação de localização.

Propriedades

  • activeMatchOrdinal

    número

    O número ordinal da correspondência atual.

  • cancelada

    booleano

    Indica se essa solicitação de localização foi cancelada.

  • numberOfMatches

    número

    O número de vezes que searchText foi correspondido na página.

  • selectionRect

    Descreve um retângulo ao redor da correspondência ativa nas coordenadas da tela.

FindOptions

Opções para a solicitação de localização.

Propriedades

  • para trás

    booleano opcional

    Sinalização para encontrar correspondências na ordem inversa. O valor padrão é false.

  • matchCase

    booleano opcional

    Sinalização para correspondência que diferencia maiúsculas de minúsculas. O valor padrão é false.

FullscreenPermissionRequest

Chrome 43+

O tipo de objeto request que acompanha um evento DOM fullscreen permissionrequest.

Propriedades

  • origem

    string

    A origem do frame dentro do webview que iniciou a solicitação de tela cheia.

  • allow

    void

    Permita a solicitação de permissão.

    A função allow é semelhante a:

    () => {...}

  • deny

    void

    Negue a solicitação de permissão.

    A função deny é semelhante a:

    () => {...}

GeolocationPermissionRequest

O tipo de objeto request que acompanha um evento DOM geolocation permissionrequest.

Propriedades

  • url

    string

    O URL do frame que solicita acesso aos dados de geolocalização.

  • allow

    void

    Permita a solicitação de permissão.

    A função allow é semelhante a:

    () => {...}

  • deny

    void

    Negue a solicitação de permissão. Esse é o comportamento padrão se allow não for chamado.

    A função deny é semelhante a:

    () => {...}

HidPermissionRequest

Chrome 125+

O tipo de objeto request que acompanha um evento DOM permissionrequest de hid.

Propriedades

  • url

    string

    O URL do frame que solicita acesso à API HID.

  • allow

    void

    Permita a solicitação de permissão.

    A função allow é semelhante a:

    () => {...}

  • deny

    void

    Negue a solicitação de permissão. Esse é o comportamento padrão se allow não for chamado.

    A função deny é semelhante a:

    () => {...}

InjectDetails

Detalhes do script ou CSS a ser injetado. É necessário definir a propriedade de código ou de arquivo, mas não as duas ao mesmo tempo.

Propriedades

  • código

    string opcional

    Código JavaScript ou CSS a ser injetado.

    Aviso: tenha cuidado ao usar o parâmetro code. O uso incorreto pode deixar o app vulnerável a ataques de scripting em vários sites.

  • arquivo

    string opcional

    Arquivo JavaScript ou CSS para injetar.

InjectionItems

Chrome 44+

O tipo de item de injeção: código ou um conjunto de arquivos.

Propriedades

  • código

    string opcional

    Código JavaScript ou CSS a ser injetado nas páginas correspondentes.

  • arquivos

    string[] opcional

    A lista de arquivos JavaScript ou CSS a serem injetados nas páginas correspondentes. Eles são injetados na ordem em que aparecem nessa matriz.

LoadAbortReason

Chrome 141+

String que indica o tipo de cancelamento que ocorreu. Não há garantia de que essa string vai permanecer compatível com versões anteriores entre as versões. Não analise nem aja com base no conteúdo dele. Também é possível que, em alguns casos, um erro não listado aqui seja relatado.

Enumeração

"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

O tipo de objeto request que acompanha um evento DOM loadplugin permissionrequest.

Propriedades

  • identifier

    string

    A string de identificador do plug-in.

  • nome

    string

    O nome de exibição do plug-in.

  • allow

    void

    Permita a solicitação de permissão. Esse é o comportamento padrão se deny não for chamado.

    A função allow é semelhante a:

    () => {...}

  • deny

    void

    Negue a solicitação de permissão.

    A função deny é semelhante a:

    () => {...}

MediaPermissionRequest

O tipo de objeto request que acompanha um evento DOM media permissionrequest.

Propriedades

  • url

    string

    O URL do frame que está solicitando acesso à mídia do usuário.

  • allow

    void

    Permita a solicitação de permissão.

    A função allow é semelhante a:

    () => {...}

  • deny

    void

    Negue a solicitação de permissão. Esse é o comportamento padrão se allow não for chamado.

    A função deny é semelhante a:

    () => {...}

NewWindow

Interface anexada a eventos DOM newwindow.

Propriedades

  • anexar

    void

    Anexe a página de destino solicitada a um elemento webview.

    A função attach é semelhante a:

    (webview: object) => {...}

    • webview

      objeto

      O elemento webview ao qual a página de destino precisa ser anexada.

  • descartar

    void

    Cancelar o pedido de nova janela.

    A função discard é semelhante a:

    () => {...}

PermissionType

Chrome 141+

O tipo de permissão que está sendo solicitada.

Enumeração

"media"

"geolocation"

"pointerLock"

"download"

"loadplugin"

"filesystem"

"fullscreen"

"hid"

PointerLockPermissionRequest

O tipo de objeto request que acompanha um evento DOM pointerLock permissionrequest.

Propriedades

  • lastUnlockedBySelf

    booleano

    Se o frame solicitante foi o cliente mais recente a manter o bloqueio de ponteiro.

  • url

    string

    O URL do frame que solicita o bloqueio do ponteiro.

  • userGesture

    booleano

    Se o bloqueio de ponteiro foi solicitado como resultado de um gesto de entrada do usuário.

  • allow

    void

    Permita a solicitação de permissão.

    A função allow é semelhante a:

    () => {...}

  • deny

    void

    Negue a solicitação de permissão. Esse é o comportamento padrão se allow não for chamado.

    A função deny é semelhante a:

    () => {...}

SelectionRect

Descreve um retângulo nas coordenadas da tela.

A semântica de contenção é semelhante à de uma matriz, ou seja, a coordenada (left, top) é considerada contida pelo retângulo, mas a coordenada (left + width, top) não.

Propriedades

  • altura

    número

    Altura do retângulo.

  • esquerda

    número

    Distância da borda esquerda da tela até a borda esquerda do retângulo.

  • superior

    número

    Distância da borda superior da tela até a borda superior do retângulo.

  • largura

    número

    Largura do retângulo.

StopFindingAction

Chrome 141+

Determina o que fazer com a correspondência ativa após o término da sessão de localização. clear limpa o destaque da correspondência ativa; keep mantém o destaque da correspondência ativa; activate mantém o destaque da correspondência ativa e simula um clique do usuário nela. A ação padrão é keep.

Enumeração

"clear"

"keep"

"activate"

WebRequestEventInterface

Chrome 44+

Interface que fornece acesso a eventos webRequest na página de convidado. Consulte a API de extensões chrome.webRequest para mais detalhes sobre o ciclo de vida da webRequest e conceitos relacionados. Observação: o evento chrome.webRequest.onActionIgnored não é compatível com webviews.

Para ilustrar como o uso difere da API webRequest de extensões, considere o seguinte exemplo de código que bloqueia todas as solicitações de visitantes para URLs que correspondem a *://www.evil.com/*:

webview.request.onBeforeRequest.addListener(
  function(details) { return {cancel: true}; },
  {urls: ["*://www.evil.com/*"]},
  ["blocking"]);

Além disso, essa interface é compatível com regras declarativas de webRequest usando os eventos onRequest e onMessage. Consulte declarativeWebRequest para ver detalhes da API.

As condições e ações para webRequests de webview declarativas precisam ser instanciadas das contrapartes chrome.webViewRequest.*. O exemplo de código a seguir bloqueia de forma declarativa todas as solicitações para "example.com" na WebView myWebview:

var rule = {
  conditions: [
    new chrome.webViewRequest.RequestMatcher({ url: { hostSuffix: 'example.com' } })
  ],
  actions: [ new chrome.webViewRequest.CancelRequest() ]
};
myWebview.request.onRequest.addRules([rule]);

WindowOpenDisposition

Chrome 141+

A disposição solicitada da nova janela.

Enumeração

"ignore"

"save_to_disk"

"current_tab"

"new_background_tab"

"new_foreground_tab"

"new_window"

"new_popup"

ZoomMode

Chrome 43+

Define como o zoom é processado no webview.

Enumeração

"per-origin"
As mudanças de zoom vão persistir na origem da página ampliada, ou seja, todas as outras visualizações da Web na mesma partição que forem navegadas para essa mesma origem também serão ampliadas. Além disso, as mudanças de zoom do per-origin são salvas com a origem, o que significa que, ao navegar para outras páginas na mesma origem, todas elas serão ampliadas com o mesmo fator de zoom.

"per-view"
As mudanças de zoom só entram em vigor nessa visualização da Web, e as mudanças de zoom em outras visualizações da Web não afetam o zoom dessa visualização. Além disso, as mudanças de zoom de per-view são redefinidas na navegação. Navegar em uma WebView sempre carrega páginas com os fatores de zoom por origem (no escopo da partição).

"disabled"
Desativa todo o zoom na WebView. O conteúdo vai voltar ao nível de zoom padrão, e todas as tentativas de mudança de zoom serão ignoradas.

Propriedades

contentWindow

Referência de objeto que pode ser usada para postar mensagens na página de visitante.

contextMenus

Chrome 44+

Semelhante à API ContextMenus do Chrome, mas se aplica a webview em vez do navegador. Use a API webview.contextMenus para adicionar itens ao menu de contexto do webview. Você pode escolher a quais tipos de objetos as adições do menu de contexto se aplicam, como imagens, hiperlinks e páginas.

request

Interface que fornece acesso a eventos webRequest na página de convidado.

Métodos

addContentScripts()

Chrome 44+
chrome.webviewTag.addContentScripts(
  contentScriptList: [ContentScriptDetails, ...ContentScriptDetails[]],
)
: void

Adiciona regras de injeção de script de conteúdo ao webview. Quando o webview navegar para uma página que corresponde a uma ou mais regras, os scripts associados serão injetados. É possível adicionar regras ou atualizar as atuais de forma programática.

O exemplo a seguir adiciona duas regras ao webview: "myRule" e "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';

É possível adiar a chamada addContentScripts até que seja necessário injetar scripts.

O exemplo a seguir mostra como substituir uma regra.

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'}]);

Se webview tiver sido navegado até a origem (por exemplo, foo.com) e chamar webview.addContentScripts para adicionar "myRule", será necessário aguardar a próxima navegação para que os scripts sejam injetados. Se você quiser uma injeção imediata, o executeScript vai fazer o que é certo.

As regras são preservadas mesmo que o processo convidado falhe ou seja encerrado, ou mesmo que o webview seja reatribuído.

Consulte a documentação sobre scripts de conteúdo para mais detalhes.

Parâmetros

back()

chrome.webviewTag.back(
  callback?: function,
)
: void

Volta uma entrada no histórico, se possível. É equivalente a go(-1).

Parâmetros

  • callback

    função optional

    Chrome 44+

    O parâmetro callback é semelhante a:

    (success: boolean) => void

    • sucesso

      booleano

      Indica se a navegação foi bem-sucedida.

canGoBack()

chrome.webviewTag.canGoBack(): boolean

Indica se é possível voltar no histórico. O estado dessa função é armazenado em cache e atualizado antes de cada loadcommit. Portanto, o melhor lugar para chamá-la é em loadcommit.

Retorna

  • booleano

canGoForward()

chrome.webviewTag.canGoForward(): boolean

Indica se é possível navegar para frente no histórico. O estado dessa função é armazenado em cache e atualizado antes de cada loadcommit. Portanto, o melhor lugar para chamá-la é em loadcommit.

Retorna

  • booleano

captureVisibleRegion()

Chrome 50 ou mais recente
chrome.webviewTag.captureVisibleRegion(
  options?: ImageDetails,
  callback: function,
)
: void

Captura a região visível da WebView.

Parâmetros

  • opções

    ImageDetails opcional

  • callback

    função

    O parâmetro callback é semelhante a:

    (dataUrl: string) => void

    • dataUrl

      string

      Um URL de dados que codifica uma imagem da área visível da guia capturada. Pode ser atribuído à propriedade "src" de um elemento de imagem HTML para exibição.

clearData()

chrome.webviewTag.clearData(
  options: ClearDataOptions,
  types: ClearDataTypeSet,
  callback?: function,
)
: void

Limpa os dados de navegação da partição webview.

Parâmetros

  • opções

    Opções que determinam quais dados serão apagados.

  • Os tipos de dados que serão excluídos.

  • callback

    função optional

    O parâmetro callback é semelhante a:

    () => void

executeScript()

chrome.webviewTag.executeScript(
  details: InjectDetails,
  callback?: function,
)
: void

Injeta código JavaScript na página de visitante.

O exemplo de código a seguir usa a injeção de script para definir a cor de fundo da página de visitante como vermelha:

webview.executeScript({ code: "document.body.style.backgroundColor = 'red'" });

Parâmetros

  • detalhes

    Detalhes do script a ser executado.

  • callback

    função optional

    O parâmetro callback é semelhante a:

    (result?: any[]) => void

    • resultado

      any[] optional

      O resultado do script em cada frame injetado.

find()

chrome.webviewTag.find(
  searchText: string,
  options?: FindOptions,
  callback?: function,
)
: void

Inicia uma solicitação de localização na página.

Parâmetros

  • searchText

    string

    A string a ser encontrada na página.

  • opções

    FindOptions opcional

    Opções para a solicitação de localização.

  • callback

    função optional

    O parâmetro callback é semelhante a:

    (results?: FindCallbackResults) => void

    • resultados

      Contém todos os resultados da solicitação de localização. results pode ser omitido se não for utilizado no corpo da função de callback. Por exemplo, se o callback for usado apenas para discernir quando a solicitação de localização foi concluída.

forward()

chrome.webviewTag.forward(
  callback?: function,
)
: void

Navega para frente uma entrada de histórico, se possível. É equivalente a go(1).

Parâmetros

  • callback

    função optional

    Chrome 44+

    O parâmetro callback é semelhante a:

    (success: boolean) => void

    • sucesso

      booleano

      Indica se a navegação foi bem-sucedida.

getAudioState()

Chrome 62 ou mais recente
chrome.webviewTag.getAudioState(
  callback: function,
)
: void

Consulta o estado do áudio.

Parâmetros

  • callback

    função

    O parâmetro callback é semelhante a:

    (audible: boolean) => void

    • Audible

      booleano

getProcessId()

chrome.webviewTag.getProcessId(): number

Retorna o ID de processo interno do Chrome para o processo atual da página da Web de visitante, permitindo que os incorporadores saibam quantos visitantes seriam afetados pelo encerramento do processo. Dois convidados só vão compartilhar um processo se pertencerem ao mesmo app e tiverem o mesmo ID de partição de armazenamento. A chamada é síncrona e retorna a noção em cache do incorporador do ID de processo atual. O ID de processo não é o mesmo que o ID de processo do sistema operacional.

Retorna

  • número

getUserAgent()

chrome.webviewTag.getUserAgent(): string

Retorna a string do user agent usada pelo webview para solicitações de páginas de visitantes.

Retorna

  • string

getZoom()

chrome.webviewTag.getZoom(
  callback: function,
)
: void

Recebe o fator de zoom atual.

Parâmetros

  • callback

    função

    O parâmetro callback é semelhante a:

    (zoomFactor: number) => void

    • zoomFactor

      número

      O fator de zoom atual.

getZoomMode()

Chrome 43+
chrome.webviewTag.getZoomMode(
  callback: function,
)
: void

Recebe o modo de zoom atual.

Parâmetros

  • callback

    função

    O parâmetro callback é semelhante a:

    (ZoomMode: ZoomMode) => void

    • ZoomMode

      O modo de zoom atual do webview.

go()

chrome.webviewTag.go(
  relativeIndex: number,
  callback?: function,
)
: void

Navega até uma entrada do histórico usando um índice de histórico relativo à navegação atual. Se a navegação solicitada for impossível, esse método não terá efeito.

Parâmetros

  • relativeIndex

    número

    Índice de histórico relativo para o qual o webview precisa ser navegado. Por exemplo, um valor de 2 vai avançar duas entradas do histórico, se possível. Um valor de -3 vai voltar três entradas.

  • callback

    função optional

    O parâmetro callback é semelhante a:

    (success: boolean) => void

    • sucesso

      booleano

      Indica se a navegação foi bem-sucedida.

insertCSS()

chrome.webviewTag.insertCSS(
  details: InjectDetails,
  callback?: function,
)
: void

Injeta CSS na página de visitante.

Parâmetros

  • detalhes

    Detalhes do CSS a ser inserido.

  • callback

    função optional

    O parâmetro callback é semelhante a:

    () => void

isAudioMuted()

Chrome 62 ou mais recente
chrome.webviewTag.isAudioMuted(
  callback: function,
)
: void

Consulta se o áudio está desativado.

Parâmetros

  • callback

    função

    O parâmetro callback é semelhante a:

    (muted: boolean) => void

    • silenciado

      booleano

isSpatialNavigationEnabled()

Chrome 71+
chrome.webviewTag.isSpatialNavigationEnabled(
  callback: function,
)
: void

Consulta se a navegação espacial está ativada para a visualização da Web.

Parâmetros

  • callback

    função

    O parâmetro callback é semelhante a:

    (enabled: boolean) => void

    • ativado

      booleano

isUserAgentOverridden()

chrome.webviewTag.isUserAgentOverridden(): void

Indica se a string do user agent do webview foi substituída por webviewTag.setUserAgentOverride.

loadDataWithBaseUrl()

chrome.webviewTag.loadDataWithBaseUrl(
  dataUrl: string,
  baseUrl: string,
  virtualUrl?: string,
)
: void

Carrega um URL de dados com um URL de base especificado usado para links relativos. Se quiser, você pode fornecer um URL virtual para ser mostrado ao usuário em vez do URL de dados.

Parâmetros

  • dataUrl

    string

    O URL de dados a ser carregado.

  • baseUrl

    string

    O URL de base que será usado para links relativos.

  • virtualUrl

    string opcional

    O URL que será mostrado ao usuário (na barra de endereço).

print()

chrome.webviewTag.print(): void

Mostra o conteúdo do webview. Isso equivale a chamar a função de impressão com script do próprio webview.

reload()

chrome.webviewTag.reload(): void

Atualiza a página de nível superior atual.

removeContentScripts()

Chrome 44+
chrome.webviewTag.removeContentScripts(
  scriptNameList?: string[],
)
: void

Remove scripts de conteúdo de um webview.

O exemplo a seguir remove "myRule", que foi adicionado antes.

webview.removeContentScripts(['myRule']);

Para remover todas as regras, chame:

webview.removeContentScripts();

Parâmetros

  • scriptNameList

    string[] opcional

    Uma lista de nomes de scripts de conteúdo que serão removidos. Se a lista estiver vazia, todos os scripts de conteúdo adicionados ao webview serão removidos.

setAudioMuted()

Chrome 62 ou mais recente
chrome.webviewTag.setAudioMuted(
  mute: boolean,
)
: void

Define o estado de áudio desativado da visualização da Web.

Parâmetros

  • desativar som

    booleano

    Valor de silenciamento de áudio

setSpatialNavigationEnabled()

Chrome 71+
chrome.webviewTag.setSpatialNavigationEnabled(
  enabled: boolean,
)
: void

Define o estado de navegação espacial da WebView.

Parâmetros

  • ativado

    booleano

    Valor do estado de navegação espacial.

setUserAgentOverride()

chrome.webviewTag.setUserAgentOverride(
  userAgent: string,
)
: void

Substitui a string do user agent usada pelo webview para solicitações de páginas de visitantes. A substituição vai fazer com que os valores do cabeçalho das dicas de cliente HTTP do user agent e os valores retornados por navigator.userAgentData fiquem vazios para as solicitações de página de visitante em que essa substituição é aplicada.

Parâmetros

  • userAgent

    string

    A string de user agent a ser usada.

setZoom()

chrome.webviewTag.setZoom(
  zoomFactor: number,
  callback?: function,
)
: void

Altera o fator de zoom da página. O escopo e a persistência dessa mudança são determinados pelo modo de zoom atual da WebView (consulte webviewTag.ZoomMode).

Parâmetros

  • zoomFactor

    número

    O novo fator de zoom.

  • callback

    função optional

    O parâmetro callback é semelhante a:

    () => void

setZoomMode()

Chrome 43+
chrome.webviewTag.setZoomMode(
  ZoomMode: ZoomMode,
  callback?: function,
)
: void

Define o modo de zoom do webview.

Parâmetros

  • ZoomMode

    Define como o zoom é processado no webview.

  • callback

    função optional

    O parâmetro callback é semelhante a:

    () => void

stop()

chrome.webviewTag.stop(): void

Interrompe o carregamento da navegação webview atual, se estiver em andamento.

stopFinding()

chrome.webviewTag.stopFinding(
  action?: StopFindingAction,
)
: void

Encerra a sessão de localização atual (limpando todo o destaque) e cancela todas as solicitações de localização em andamento.

Parâmetros

  • ação

    Determina o que fazer com a correspondência ativa após o término da sessão de localização. clear limpa o destaque da correspondência ativa; keep mantém o destaque da correspondência ativa; activate mantém o destaque da correspondência ativa e simula um clique do usuário nela. A ação padrão é keep.

terminate()

chrome.webviewTag.terminate(): void

Encerra à força o processo do renderizador da página da Web de visitante. Isso pode afetar várias tags webview no app atual se elas compartilharem o mesmo processo, mas não vai afetar as tags webview em outros apps.

Eventos

close

chrome.webviewTag.close.addListener(
  callback: function,
)

Disparado quando a janela de convidado tenta se fechar.

O código de exemplo a seguir navega de webview para about:blank quando o convidado tenta se fechar.

webview.addEventListener('close', function() {
  webview.src = 'about:blank';
});

Parâmetros

  • callback

    função

    O parâmetro callback é semelhante a:

    () => void

consolemessage

chrome.webviewTag.consolemessage.addListener(
  callback: function,
)

Disparado quando a janela de convidado registra uma mensagem do console.

O exemplo de código a seguir encaminha todas as mensagens de registro para o console do incorporador, sem considerar o nível de registro ou outras propriedades.

webview.addEventListener('consolemessage', function(e) {
  console.log('Guest page logged a message: ', e.message);
});

Parâmetros

  • callback

    função

    O parâmetro callback é semelhante a:

    (level: number, message: string, line: number, sourceId: string) => void

    • level

      número

    • mensagem

      string

    • linha

      número

    • sourceId

      string

contentload

chrome.webviewTag.contentload.addListener(
  callback: function,
)

Disparado quando a janela de convidado dispara um evento load, ou seja, quando um novo documento é carregado. Isso não inclui a navegação nas páginas do documento atual nem os carregamentos de recursos assíncronos.

O exemplo de código a seguir modifica o tamanho de fonte padrão do elemento body do visitante após o carregamento de página:

webview.addEventListener('contentload', function() {
  webview.executeScript({ code: 'document.body.style.fontSize = "42px"' });
});

Parâmetros

  • callback

    função

    O parâmetro callback é semelhante a:

    () => void

dialog

chrome.webviewTag.dialog.addListener(
  callback: function,
)

Disparado quando a janela de convidado tenta abrir uma caixa de diálogo modal usando window.alert, window.confirm ou window.prompt.

O processamento desse evento vai bloquear o processo convidado até que cada listener de eventos retorne ou o objeto dialog fique inacessível (se preventDefault() tiver sido chamado).

O comportamento padrão é cancelar a caixa de diálogo.

Parâmetros

exit

chrome.webviewTag.exit.addListener(
  callback: function,
)

Disparado quando o processo que renderiza o conteúdo da Web convidado é encerrado.

O exemplo de código a seguir mostra uma mensagem de despedida sempre que a página de visitante falha:

webview.addEventListener('exit', function(e) {
  if (e.reason === 'crash') {
    webview.src = 'data:text/plain,Goodbye, world!';
  }
});

Parâmetros

  • callback

    função

    O parâmetro callback é semelhante a:

    (details: object) => void

    • detalhes

      objeto

      • processID

        número

        ID interno do Chrome do processo que foi encerrado.

      • reason

        String que indica o motivo da saída.

findupdate

chrome.webviewTag.findupdate.addListener(
  callback: function,
)

Acionado quando novos resultados de pesquisa estão disponíveis para uma solicitação de pesquisa ativa. Isso pode acontecer várias vezes para uma única solicitação de localização, conforme as correspondências são encontradas.

Parâmetros

  • callback

    função

    O parâmetro callback é semelhante a:

    (searchText: string, numberOfMatches: number, activeMatchOrdinal: number, selectionRect: SelectionRect, canceled: boolean, finalUpdate: string) => void

    • searchText

      string

    • numberOfMatches

      número

    • activeMatchOrdinal

      número

    • selectionRect
    • cancelada

      booleano

    • finalUpdate

      string

loadabort

chrome.webviewTag.loadabort.addListener(
  callback: function,
)

Disparado quando um carregamento de nível superior é cancelado sem confirmação. Uma mensagem de erro será mostrada no console, a menos que o evento seja impedido por padrão.

Observação: quando o carregamento de um recurso é cancelado, um evento loadabort é seguido por um evento loadstop, mesmo que todos os carregamentos confirmados desde o último evento loadstop (se houver) tenham sido cancelados.

Observação: quando o carregamento de um URL "about" ou JavaScript é cancelado, o loadabort é acionado e o webview é direcionado para "about:blank".

Parâmetros

  • callback

    função

    O parâmetro callback é semelhante a:

    (url: string, isTopLevel: boolean, code: number, reason: LoadAbortReason) => void

loadcommit

chrome.webviewTag.loadcommit.addListener(
  callback: function,
)

Disparado quando um carregamento é confirmado. Isso inclui a navegação no documento atual, bem como carregamentos no nível do documento de subframe, mas não inclui carregamentos de recursos assíncronos.

Parâmetros

  • callback

    função

    O parâmetro callback é semelhante a:

    (url: string, isTopLevel: boolean) => void

    • url

      string

    • isTopLevel

      booleano

loadredirect

chrome.webviewTag.loadredirect.addListener(
  callback: function,
)

Acionado quando uma solicitação de carregamento de nível superior é redirecionada para um URL diferente.

Parâmetros

  • callback

    função

    O parâmetro callback é semelhante a:

    (oldUrl: string, newUrl: string, isTopLevel: boolean) => void

    • oldUrl

      string

    • newUrl

      string

    • isTopLevel

      booleano

loadstart

chrome.webviewTag.loadstart.addListener(
  callback: function,
)

Disparado quando um carregamento é iniciado.

Parâmetros

  • callback

    função

    O parâmetro callback é semelhante a:

    (url: string, isTopLevel: boolean) => void

    • url

      string

    • isTopLevel

      booleano

loadstop

chrome.webviewTag.loadstop.addListener(
  callback: function,
)

Disparado quando todos os carregamentos no nível do frame em uma página de convidado (incluindo todos os subframes) são concluídos. Isso inclui a navegação no documento atual, bem como os carregamentos no nível do documento de subframe, mas não inclui carregamentos de recursos assíncronos. Esse evento é acionado sempre que o número de carregamentos no nível do documento passa de um (ou mais) para zero. Por exemplo, se uma página que já terminou de carregar (ou seja, loadstop já foi disparado uma vez) cria um novo iframe que carrega uma página. Em seguida, um segundo loadstop é disparado quando o carregamento da página do iframe é concluído. Esse padrão é comum em páginas que carregam anúncios.

Observação: quando um carregamento confirmado é cancelado, um evento loadstop acaba seguindo um evento loadabort, mesmo que todos os carregamentos confirmados desde o último evento loadstop (se houver) tenham sido cancelados.

Parâmetros

  • callback

    função

    O parâmetro callback é semelhante a:

    () => void

newwindow

chrome.webviewTag.newwindow.addListener(
  callback: function,
)

Disparado quando a página de convidado tenta abrir uma nova janela do navegador.

O código de exemplo a seguir cria e navega por um novo webview no incorporador para cada nova janela solicitada:

webview.addEventListener('newwindow', function(e) {
  var newWebview = document.createElement('webview');
  document.body.appendChild(newWebview);
  e.window.attach(newWebview);
});

Parâmetros

  • callback

    função

    O parâmetro callback é semelhante a:

    (window: NewWindow, targetUrl: string, initialWidth: number, initialHeight: number, name: string, windowOpenDisposition: WindowOpenDisposition) => void

permissionrequest

chrome.webviewTag.permissionrequest.addListener(
  callback: function,
)

Disparado quando a página de convidado precisa solicitar permissão especial do incorporador.

O código de exemplo a seguir concede à página de visitante acesso à API webkitGetUserMedia. Um app que usa esse código de exemplo precisa especificar as permissões de manifesto audioCapture e/ou videoCapture:

webview.addEventListener('permissionrequest', function(e) {
  if (e.permission === 'media') {
    e.request.allow();
  }
});

Parâmetros

  • callback

    função

    O parâmetro callback é semelhante a:

    (permission: PermissionType, request: object) => void

responsive

chrome.webviewTag.responsive.addListener(
  callback: function,
)

Disparado quando o processo de renderização do conteúdo da Web convidado volta a responder depois de ficar sem resposta.

O exemplo de código a seguir vai fazer o elemento webview aparecer ou desaparecer gradualmente conforme ele se torna responsivo ou não:

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

    função

    O parâmetro callback é semelhante a:

    (processID: number) => void

    • processID

      número

sizechanged

chrome.webviewTag.sizechanged.addListener(
  callback: function,
)

Acionado quando o conteúdo da Web incorporado é redimensionado usando autosize. Só é acionado se autosize estiver ativado.

Parâmetros

  • callback

    função

    O parâmetro callback é semelhante a:

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

Disparado quando o processo que renderiza o conteúdo da Web convidado deixa de responder. Esse evento será gerado uma vez com um evento responsivo correspondente se o convidado começar a responder novamente.

Parâmetros

  • callback

    função

    O parâmetro callback é semelhante a:

    (processID: number) => void

    • processID

      número

zoomchange

chrome.webviewTag.zoomchange.addListener(
  callback: function,
)

Disparado quando o zoom da página muda.

Parâmetros

  • callback

    função

    O parâmetro callback é semelhante a:

    (oldZoomFactor: number, newZoomFactor: number) => void

    • oldZoomFactor

      número

    • newZoomFactor

      número