Descrição
Use a API chrome.tabs para interagir com o sistema de guias do navegador. Você pode usar essa API para criar, modificar e reorganizar guias no navegador.
A API Tabs não apenas oferece recursos para manipular e gerenciar guias, mas também pode detectar o idioma da guia, fazer uma captura de tela e comunicar com scripts de conteúdo de uma guia.
Permissões
A maioria dos recursos não exige permissões para uso. Por exemplo: criar uma nova guia, recarregar uma guia, navegar para outro URL etc.
Há três permissões que os desenvolvedores precisam conhecer ao trabalhar com a API Tabs.
- A permissão "tabs"
- Essa permissão não dá acesso ao namespace - chrome.tabs. Em vez disso, ela concede a uma extensão a capacidade de chamar- tabs.query()em quatro propriedades sensíveis em instâncias- tabs.Tab:- url,- pendingUrl,- titlee- favIconUrl.- { "name": "My extension", ... "permissions": [ "tabs" ], ... }
- Permissões do host
- As permissões de host permitem que uma extensão leia e consulte as quatro propriedades sensíveis de - tabs.Tabde uma guia correspondente. Eles também podem interagir diretamente com as guias correspondentes usando métodos como- tabs.captureVisibleTab(),- scripting.executeScript(),- scripting.insertCSS()e- scripting.removeCSS().- { "name": "My extension", ... "host_permissions": [ "http://*/*", "https://*/*" ], ... }
- A permissão "activeTab"
- activeTabconcede uma permissão de host temporária de extensão para a guia atual em resposta a uma invocação do usuário. Ao contrário das permissões de host,- activeTabnão aciona nenhum aviso.- { "name": "My extension", ... "permissions": [ "activeTab" ], ... }
Casos de uso
As seções a seguir demonstram alguns casos de uso comuns.
Abrir a página de uma extensão em uma nova guia
Um padrão comum para extensões é abrir uma página de integração em uma nova guia quando a extensão é instalada. O exemplo a seguir mostra como fazer isso.
background.js:
chrome.runtime.onInstalled.addListener(({reason}) => {
  if (reason === 'install') {
    chrome.tabs.create({
      url: "onboarding.html"
    });
  }
});
Receber a guia atual
Este exemplo demonstra como o service worker de uma extensão pode recuperar a guia ativa da janela focada no momento (ou da janela focada mais recentemente, se nenhuma janela do Chrome estiver focada). Isso geralmente pode ser considerado como a guia atual do usuário.
  async function getCurrentTab() {
    let queryOptions = { active: true, lastFocusedWindow: true };
    // `tab` will either be a `tabs.Tab` instance or `undefined`.
    let [tab] = await chrome.tabs.query(queryOptions);
    return tab;
  }
  
  function getCurrentTab(callback) {
    let queryOptions = { active: true, lastFocusedWindow: true };
    chrome.tabs.query(queryOptions, ([tab]) => {
      if (chrome.runtime.lastError)
      console.error(chrome.runtime.lastError);
      // `tab` will either be a `tabs.Tab` instance or `undefined`.
      callback(tab);
    });
  }
Desativar o som da guia especificada
Este exemplo mostra como uma extensão pode alternar o estado de mudo de uma determinada guia.
  async function toggleMuteState(tabId) {
    const tab = await chrome.tabs.get(tabId);
    const muted = !tab.mutedInfo.muted;
    await chrome.tabs.update(tabId, {muted});
    console.log(`Tab ${tab.id} is ${muted ? "muted" : "unmuted"}`);
  }
  
  function toggleMuteState(tabId) {
    chrome.tabs.get(tabId, async (tab) => {
      let muted = !tab.mutedInfo.muted;
      await chrome.tabs.update(tabId, { muted });
      console.log(`Tab ${tab.id} is ${ muted ? "muted" : "unmuted" }`);
    });
  }
Mover a guia atual para a primeira posição quando clicada
Este exemplo mostra como mover uma guia enquanto uma ação de arrastar pode ou não estar em andamento. Embora este exemplo use chrome.tabs.move, você pode usar o mesmo padrão de espera para outras chamadas que modificam guias enquanto
uma ação de arrastar está em andamento.
  chrome.tabs.onActivated.addListener(moveToFirstPosition);
  async function moveToFirstPosition(activeInfo) {
    try {
      await chrome.tabs.move(activeInfo.tabId, {index: 0});
      console.log("Success.");
    } catch (error) {
      if (error == "Error: Tabs cannot be edited right now (user may be dragging a tab).") {
        setTimeout(() => moveToFirstPosition(activeInfo), 50);
      } else {
        console.error(error);
      }
    }
  }
  
  chrome.tabs.onActivated.addListener(moveToFirstPositionMV2);
  function moveToFirstPositionMV2(activeInfo) {
    chrome.tabs.move(activeInfo.tabId, { index: 0 }, () => {
      if (chrome.runtime.lastError) {
        const error = chrome.runtime.lastError;
        if (error == "Error: Tabs cannot be edited right now (user may be dragging a tab).") {
          setTimeout(() => moveToFirstPositionMV2(activeInfo), 50);
        } else {
          console.error(error);
        }
      } else {
        console.log("Success.");
      }
    });
  }
Transmitir uma mensagem ao script de conteúdo de uma guia selecionada
Este exemplo demonstra como um service worker de extensão pode se comunicar com scripts de conteúdo em guias específicas do navegador usando tabs.sendMessage().
function sendMessageToActiveTab(message) {
  const [tab] = await chrome.tabs.query({ active: true, lastFocusedWindow: true });
  const response = await chrome.tabs.sendMessage(tab.id, message);
  // TODO: Do something with the response.
}
Exemplos de extensões
Para mais demonstrações de extensões da API Tabs, confira uma das seguintes opções:
Tipos
MutedInfo
O estado de mudo da guia e o motivo da última mudança de estado.
Propriedades
- 
    extensionIdstring opcional O ID da extensão que mudou o estado de mudo. Não definido se uma extensão não foi o motivo da última mudança no estado silenciado. 
- 
    silenciadobooleano Indica se a guia está silenciada (impedida de reproduzir som). A guia pode estar silenciada mesmo que não tenha reproduzido ou não esteja reproduzindo som no momento. Equivalente a se o indicador de áudio "silenciado" está sendo mostrado. 
- 
    reasonMutedInfoReason opcional O motivo de a guia ter sido silenciada ou não. Não definido se o estado de mudo da guia nunca foi alterado. 
MutedInfoReason
Um evento que causou uma mudança de estado silenciosa.
Enumeração
"user" 
 Uma ação de entrada do usuário definiu o estado silenciado.
"capture" 
 A captura de guia foi iniciada, forçando uma mudança de estado silenciado.
"extension" 
 Uma extensão, identificada pelo campo "extensionId", definiu o estado de mudo.
Tab
Propriedades
- 
    ativobooleano Indica se a guia está ativa na janela. Não significa necessariamente que a janela está em foco. 
- 
    Audiblebooleano opcional Chrome 45 ou mais recenteSe a guia emitiu som nos últimos segundos (mas talvez não seja possível ouvir se ela também estiver silenciada). Equivalente a se o indicador "áudio do alto-falante" está sendo mostrado. 
- 
    autoDiscardablebooleano Chrome 54 ou mais recenteSe a guia pode ser descartada automaticamente pelo navegador quando os recursos estão baixos. 
- 
    descartoubooleano Chrome 54 ou mais recenteSe a guia foi descartada. Uma guia descartada é aquela cujo conteúdo foi descarregado da memória, mas ainda está visível na barra de guias. O conteúdo é recarregado na próxima vez que ele é ativado. 
- 
    favIconUrlstring opcional O URL do favicon da guia. Essa propriedade só está presente se a extensão tiver a permissão "tabs"ou permissões de host para a página. Também pode ser uma string vazia se a guia estiver carregando.
- 
    congeladobooleano Chrome 132 ou mais recenteSe a guia está congelada. Uma guia congelada não pode executar tarefas, incluindo manipuladores de eventos ou timers. Ela fica visível na barra de guias, e o conteúdo dela é carregado na memória. Ele é descongelado na ativação. 
- 
    groupIdnúmero Chrome 88 ou mais recenteO ID do grupo a que a guia pertence. 
- 
    alturanúmero optional A altura da guia em pixels. 
- 
    em destaquebooleano Indica se a guia está destacada. 
- 
    IDnúmero optional O ID da guia. Os IDs de guia são exclusivos em uma sessão do navegador. Em algumas circunstâncias, uma guia pode não receber um ID. Por exemplo, ao consultar guias externas usando a API sessions, um ID de sessão pode estar presente. O ID da guia também pode ser definido comochrome.tabs.TAB_ID_NONEpara apps e janelas de ferramentas de desenvolvimento.
- 
    navegação anônimabooleano Se a guia está em uma janela anônima. 
- 
    indexnúmero O índice baseado em zero da guia na janela. 
- 
    lastAccessednúmero Chrome 121+A última vez que a guia ficou ativa na janela como o número de milissegundos desde a época. 
- 
    mutedInfoMutedInfo opcional Chrome 46 ou mais recenteO estado de mudo da guia e o motivo da última mudança de estado. 
- 
    openerTabIdnúmero optional O ID da guia que abriu esta guia, se houver. Essa propriedade só estará presente se a guia de abertura ainda existir. 
- 
    pendingUrlstring opcional Chrome 79 ou mais recenteO URL para que a guia está navegando antes de ser confirmada. Essa propriedade só está presente se a extensão tiver a permissão "tabs"ou permissões de host para a página e houver uma navegação pendente.
- 
    pixadobooleano Se a guia está fixada. 
- 
    selecionadobooleano DescontinuadoUse tabs.Tab.highlighted.Se a guia está selecionada. 
- 
    sessionIdstring opcional O ID da sessão usado para identificar de forma exclusiva uma guia obtida da API sessions.
- 
    statusTabStatus opcional O status de carregamento da guia. 
- 
    títulostring opcional O título da guia. Essa propriedade só está presente se a extensão tiver a permissão "tabs"ou permissões de host para a página.
- 
    urlstring opcional O último URL confirmado do frame principal da guia. Essa propriedade só está presente se a extensão tiver a permissão "tabs"ou permissões de host para a página. Pode ser uma string vazia se a guia ainda não tiver sido confirmada. Consulte tambémTab.pendingUrl.
- 
    larguranúmero optional A largura da guia em pixels. 
- 
    windowIdnúmero O ID da janela que contém a guia. 
TabStatus
O status de carregamento da guia.
Enumeração
"unloaded" 
 
"loading" 
 
"concluído" 
 
WindowType
O tipo de janela.
Enumeração
"normal" 
 
"popup" 
 
"panel" 
 
"app" 
 
"devtools" 
 
ZoomSettings
Define como as mudanças de zoom em uma guia são processadas e em qual escopo.
Propriedades
- 
    defaultZoomFactornúmero optional Chrome 43 ou mais recenteUsado para retornar o nível de zoom padrão da guia atual em chamadas para tabs.getZoomSettings. 
- 
    modoZoomSettingsMode opcional Define como as mudanças de zoom são processadas, ou seja, qual entidade é responsável pelo dimensionamento real da página. O padrão é automatic.
- 
    escopoZoomSettingsScope opcional Define se as mudanças de zoom persistem para a origem da página ou só têm efeito nesta guia. O padrão é per-originno modoautomaticeper-tabem outros casos.
ZoomSettingsMode
Define como as mudanças de zoom são processadas, ou seja, qual entidade é responsável pelo dimensionamento real da página. O padrão é automatic.
Enumeração
"automático" 
 As mudanças de zoom são processadas automaticamente pelo navegador.
"manual" 
 Substitui o processamento automático de mudanças de zoom. O evento onZoomChange ainda será enviado, e é responsabilidade da extensão detectar esse evento e dimensionar a página manualmente. Esse modo não é compatível com o zoom per-origin e, portanto, ignora a configuração de zoom scope e assume per-tab.
"disabled" 
 Desativa todo o zoom na guia. A guia volta ao nível de zoom padrão, e todas as tentativas de mudança são ignoradas.
ZoomSettingsScope
Define se as mudanças de zoom persistem para a origem da página ou só têm efeito nesta guia. O padrão é per-origin no modo automatic e per-tab em outros casos.
Enumeração
"por origem" 
 As mudanças de zoom persistem na origem da página ampliada. Ou seja, todas as outras guias que navegam até essa mesma origem também são ampliadas. Além disso, as mudanças de zoom per-origin são salvas com a origem. Isso significa que, ao navegar para outras páginas na mesma origem, todas elas são ampliadas com o mesmo fator de zoom. O escopo per-origin só está disponível no modo automatic.
"por guia" 
 As mudanças de zoom só entram em vigor nesta guia, e as mudanças de zoom em outras guias não afetam o zoom desta guia. Além disso, as per-tab mudanças de zoom são redefinidas na navegação. Navegar em uma guia sempre carrega páginas com os fatores de zoom per-origin.
Propriedades
MAX_CAPTURE_VISIBLE_TAB_CALLS_PER_SECOND
O número máximo de vezes que captureVisibleTab pode ser chamado por segundo. captureVisibleTab é caro e não deve ser chamado com muita frequência.
Valor
2 
 
TAB_ID_NONE
Um ID que representa a ausência de uma guia do navegador.
Valor
-1 
 
TAB_INDEX_NONE
Um índice que representa a ausência de um índice de guia em uma tab_strip.
Valor
-1 
 
Métodos
captureVisibleTab()
chrome.tabs.captureVisibleTab(
windowId?: number,
options?: ImageDetails,
): Promise<string>
Captura a área visível da guia ativa no momento na janela especificada. Para chamar esse método, a extensão precisa ter a permissão <all_urls> ou activeTab. Além dos sites que as extensões podem acessar normalmente, esse método permite que elas capturem sites sensíveis que, de outra forma, seriam restritos, incluindo páginas do esquema chrome:, páginas de outras extensões e URLs data:. Esses sites sensíveis só podem ser capturados com a permissão activeTab. Os URLs de arquivos só podem ser capturados se a extensão tiver recebido acesso a eles.
Parâmetros
- 
    windowIdnúmero optional A janela de destino. O padrão é a janela atual. 
- 
    opçõesImageDetails opcional 
Retorna
- 
            Promise<string> Chrome 88 ou mais recente
connect()
chrome.tabs.connect(
tabId: number,
connectInfo?: object,
): runtime.Port
Conecta-se aos scripts de conteúdo na guia especificada. O evento runtime.onConnect é disparado em cada script de conteúdo em execução na guia especificada para a extensão atual. Para mais detalhes, consulte Mensagens de script de conteúdo.
Parâmetros
- 
    tabIdnúmero 
- 
    connectInfoobjeto opcional - 
    documentIdstring opcional Chrome 106 ou mais recenteAbra uma porta para um documento específico identificado por documentIdem vez de todos os frames na guia.
- 
    frameIdnúmero optional Abra uma porta para um frame específico identificado por frameIdem vez de todos os frames na guia.
- 
    nomestring opcional É transmitido para onConnect em scripts de conteúdo que estão detectando o evento de conexão. 
 
- 
    
Retorna
- 
            Uma porta que pode ser usada para se comunicar com os scripts de conteúdo em execução na guia especificada. O evento runtime.Portda porta é acionado se a guia for fechada ou não existir.
Parâmetros
- 
    createPropertiesobjeto - 
    ativobooleano opcional Se a guia deve se tornar a guia ativa na janela. Não afeta se a janela está em foco (consulte windows.update). O padrão étrue.
- 
    indexnúmero optional A posição que a guia deve ocupar na janela. O valor fornecido é fixado entre zero e o número de guias na janela. 
- 
    openerTabIdnúmero optional O ID da guia que abriu esta guia. Se especificada, a guia de abertura precisa estar na mesma janela que a guia recém-criada. 
- 
    pixadobooleano opcional Se a guia deve ser fixada. O valor padrão é false.
- 
    selecionadobooleano opcional DescontinuadoUse active. Se a guia deve se tornar a guia selecionada na janela. O valor padrão é true.
- 
    urlstring opcional O URL para navegar inicialmente até a guia. Os URLs totalmente qualificados precisam incluir um esquema (ou seja, "http://www.google.com", não "www.google.com"). Os URLs relativos são relativos à página atual na extensão. O padrão é a página "Nova guia". 
- 
    windowIdnúmero optional A janela em que a nova guia será criada. O padrão é a janela atual. 
 
- 
    
Retorna
- 
            Promise<Tab> Chrome 88 ou mais recente
detectLanguage()
chrome.tabs.detectLanguage(
tabId?: number,
): Promise<string>
Detecta o idioma principal do conteúdo em uma guia.
Parâmetros
- 
    tabIdnúmero optional O padrão é a guia ativa da janela atual. 
Retorna
- 
            Promise<string> Chrome 88 ou mais recente
discard()
chrome.tabs.discard(
tabId?: number,
): Promise<Tab | undefined>
Descarta uma guia da memória. As guias descartadas ainda ficam visíveis na barra de guias e são recarregadas quando ativadas.
Parâmetros
- 
    tabIdnúmero optional O ID da guia a ser descartada. Se especificado, a guia será descartada, a menos que esteja ativa ou já tenha sido descartada. Se omitido, o navegador descarta a guia menos importante. Isso pode falhar se não houver guias descartáveis. 
Retorna
- 
            Promise<Tab | undefined> Chrome 88 ou mais recente
Parâmetros
- 
    tabIdnúmero O ID da guia a ser duplicada. 
Retorna
- 
            Promise<Tab | undefined> Chrome 88 ou mais recente
Parâmetros
- 
    tabIdnúmero 
Retorna
- 
            Promise<Tab> Chrome 88 ou mais recente
getCurrent()
chrome.tabs.getCurrent(): Promise<Tab | undefined>
Recebe a guia de onde essa chamada de script está sendo feita. Retorna undefined se for chamado de um contexto que não seja de guia (por exemplo, uma página em segundo plano ou uma visualização pop-up).
Retorna
- 
            Promise<Tab | undefined> Chrome 88 ou mais recente
getZoom()
chrome.tabs.getZoom(
tabId?: number,
): Promise<number>
Recebe o fator de zoom atual de uma guia especificada.
Parâmetros
- 
    tabIdnúmero optional O ID da guia para receber o fator de zoom atual. O padrão é a guia ativa da janela atual. 
Retorna
- 
            Promise<number> Chrome 88 ou mais recente
getZoomSettings()
chrome.tabs.getZoomSettings(
tabId?: number,
): Promise<ZoomSettings>
Recebe as configurações de zoom atuais de uma guia especificada.
Parâmetros
- 
    tabIdnúmero optional O ID da guia para receber as configurações de zoom atuais. O padrão é a guia ativa da janela atual. 
Retorna
- 
            Promise<ZoomSettings> Chrome 88 ou mais recente
goBack()
chrome.tabs.goBack(
tabId?: number,
): Promise<void>
Volte para a página anterior, se houver uma.
Parâmetros
- 
    tabIdnúmero optional O ID da guia para voltar. O padrão é a guia selecionada da janela atual. 
Retorna
- 
            Promessa<void> Chrome 88 ou mais recente
goForward()
chrome.tabs.goForward(
tabId?: number,
): Promise<void>
Avançar para a próxima página, se houver uma.
Parâmetros
- 
    tabIdnúmero optional O ID da guia para navegar para frente. O padrão é a guia selecionada da janela atual. 
Retorna
- 
            Promessa<void> Chrome 88 ou mais recente
group()
chrome.tabs.group(
options: object,
): Promise<number>
Adiciona uma ou mais guias a um grupo especificado ou, se nenhum grupo for especificado, adiciona as guias a um grupo recém-criado.
Parâmetros
- 
    opçõesobjeto - 
    createPropertiesobjeto opcional Configurações para criar um grupo. Não pode ser usado se "groupId" já estiver especificado. - 
    windowIdnúmero optional A janela do novo grupo. O padrão é a janela atual. 
 
- 
    
- 
    groupIdnúmero optional O ID do grupo em que as guias serão adicionadas. Se não for especificado, um novo grupo será criado. 
- 
    tabIdsnumber | [number, ...number[]] O ID da guia ou a lista de IDs de guias a serem adicionadas ao grupo especificado. 
 
- 
    
Retorna
- 
            Promise<number> 
highlight()
chrome.tabs.highlight(
highlightInfo: object,
): Promise<windows.Window>
Destaca as guias fornecidas e se concentra na primeira do grupo. Não vai fazer nada se a guia especificada estiver ativa.
Parâmetros
- 
    highlightInfoobjeto - 
    guiasnumber | number[] Um ou mais índices de guias para destacar. 
- 
    windowIdnúmero optional A janela que contém as guias. 
 
- 
    
Retorna
- 
            Promise<windows.Window> Chrome 88 ou mais recente
move()
chrome.tabs.move(
tabIds: number | number[],
moveProperties: object,
): Promise<Tab | Tab[]>
Move uma ou mais guias para uma nova posição na janela ou para uma nova janela. As guias só podem ser movidas para e de janelas normais (window.type === "normal").
Parâmetros
- 
    tabIdsnumber | number[] O ID da guia ou a lista de IDs das guias a serem movidas. 
- 
    movePropertiesobjeto - 
    indexnúmero A posição para onde a janela será movida. Use -1para colocar a guia no final da janela.
- 
    windowIdnúmero optional O padrão é a janela em que a guia está aberta. 
 
- 
    
query()
chrome.tabs.query(
queryInfo: object,
): Promise<Tab[]>
Recebe todas as guias com as propriedades especificadas ou todas as guias se nenhuma propriedade for especificada.
Parâmetros
- 
    queryInfoobjeto - 
    ativobooleano opcional Se as guias estão ativas nas janelas. 
- 
    Audiblebooleano opcional Chrome 45 ou mais recenteSe as guias estão audíveis. 
- 
    autoDiscardablebooleano opcional Chrome 54 ou mais recenteSe as guias podem ser descartadas automaticamente pelo navegador quando os recursos estão baixos. 
- 
    currentWindowbooleano opcional Se as guias estão na janela atual. 
- 
    descartoubooleano opcional Chrome 54 ou mais recenteSe as guias são descartadas. Uma guia descartada é aquela cujo conteúdo foi descarregado da memória, mas ainda está visível na barra de guias. O conteúdo é recarregado na próxima vez que ele é ativado. 
- 
    congeladobooleano opcional Chrome 132 ou mais recenteSe as guias estão congeladas. Uma guia congelada não pode executar tarefas, incluindo manipuladores de eventos ou timers. Ela fica visível na barra de guias, e o conteúdo dela é carregado na memória. Ele é descongelado na ativação. 
- 
    groupIdnúmero optional Chrome 88 ou mais recenteO ID do grupo em que as guias estão ou tabGroups.TAB_GROUP_ID_NONEpara guias desagrupadas.
- 
    em destaquebooleano opcional Indica se as guias estão destacadas. 
- 
    indexnúmero optional A posição das guias nas janelas. 
- 
    lastFocusedWindowbooleano opcional Se as guias estão na última janela em foco. 
- 
    silenciadobooleano opcional Chrome 45 ou mais recenteSe as guias estão silenciadas. 
- 
    pixadobooleano opcional Se as guias estão fixadas. 
- 
    splitViewIdnúmero optional Chrome 140 ou mais recenteO ID da visualização dividida em que as guias estão ou tabs.SPLIT_VIEW_ID_NONEpara guias que não estão em uma visualização dividida.
- 
    statusTabStatus opcional O status de carregamento da guia. 
- 
    títulostring opcional Corresponder títulos de página a um padrão. Essa propriedade é ignorada se a extensão não tiver a permissão "tabs"ou permissões de host para a página.
- 
    urlstring | string[] opcional Corresponda guias a um ou mais padrões de URL. Os identificadores de fragmento não são correspondentes. Essa propriedade é ignorada se a extensão não tiver a permissão "tabs"ou permissões de host para a página.
- 
    windowIdnúmero optional O ID da janela principal ou windows.WINDOW_ID_CURRENTpara a janela atual.
- 
    windowTypeWindowType opcional O tipo de janela em que as guias estão. 
 
- 
    
Retorna
- 
            Promise<Tab[]> Chrome 88 ou mais recente
reload()
chrome.tabs.reload(
tabId?: number,
reloadProperties?: object,
): Promise<void>
Atualize uma guia.
Parâmetros
- 
    tabIdnúmero optional O ID da guia a ser recarregada. O padrão é a guia selecionada da janela atual. 
- 
    reloadPropertiesobjeto opcional - 
    bypassCachebooleano opcional Se o cache local deve ser ignorado. O valor padrão é false.
 
- 
    
Retorna
- 
            Promessa<void> Chrome 88 ou mais recente
remove()
chrome.tabs.remove(
tabIds: number | number[],
): Promise<void>
Fecha uma ou mais guias.
Parâmetros
- 
    tabIdsnumber | number[] O ID da guia ou a lista de IDs de guias a serem fechadas. 
Retorna
- 
            Promessa<void> Chrome 88 ou mais recente
sendMessage()
chrome.tabs.sendMessage(
tabId: number,
message: any,
options?: object,
): Promise<any>
Envia uma única mensagem para os scripts de conteúdo na guia especificada, com um callback opcional para ser executado quando uma resposta é enviada de volta. O evento runtime.onMessage é disparado em cada script de conteúdo em execução na guia especificada para a extensão atual.
Parâmetros
- 
    tabIdnúmero 
- 
    mensagemqualquer A mensagem a ser enviada. Essa mensagem precisa ser um objeto JSON. 
- 
    opçõesobjeto opcional 
Retorna
- 
            Promise<any> Chrome 99+
setZoom()
chrome.tabs.setZoom(
tabId?: number,
zoomFactor: number,
): Promise<void>
Aplica zoom em uma guia especificada.
Parâmetros
- 
    tabIdnúmero optional O ID da guia a ser ampliada. O padrão é a guia ativa da janela atual. 
- 
    zoomFactornúmero O novo fator de zoom. Um valor de 0define a guia para o fator de zoom padrão atual. Valores maiores que0especificam um fator de zoom (possivelmente não padrão) para a guia.
Retorna
- 
            Promessa<void> Chrome 88 ou mais recente
setZoomSettings()
chrome.tabs.setZoomSettings(
tabId?: number,
zoomSettings: ZoomSettings,
): Promise<void>
Define as configurações de zoom para uma guia especificada, que definem como as mudanças de zoom são processadas. Essas configurações são redefinidas para os padrões ao navegar na guia.
Parâmetros
- 
    tabIdnúmero optional O ID da guia para mudar as configurações de zoom. O padrão é a guia ativa da janela atual. 
- 
    zoomSettingsDefine como as mudanças de zoom são processadas e em qual escopo. 
Retorna
- 
            Promessa<void> Chrome 88 ou mais recente
ungroup()
chrome.tabs.ungroup(
tabIds: number | [number, ...number[]],
): Promise<void>
Remove uma ou mais guias dos respectivos grupos. Se algum grupo ficar vazio, ele será excluído.
Parâmetros
- 
    tabIdsnumber | [number, ...number[]] O ID da guia ou a lista de IDs de guias a serem removidas dos respectivos grupos. 
Retorna
- 
            Promessa<void> 
update()
chrome.tabs.update(
tabId?: number,
updateProperties: object,
): Promise<Tab | undefined>
Modifica as propriedades de uma guia. As propriedades não especificadas em updateProperties não são modificadas.
Parâmetros
- 
    tabIdnúmero optional O padrão é a guia selecionada da janela atual. 
- 
    updatePropertiesobjeto - 
    ativobooleano opcional Se a guia deve estar ativa. Não afeta se a janela está em foco (consulte windows.update).
- 
    autoDiscardablebooleano opcional Chrome 54 ou mais recenteSe a guia deve ser descartada automaticamente pelo navegador quando os recursos estão baixos. 
- 
    em destaquebooleano opcional Adiciona ou remove a guia da seleção atual. 
- 
    silenciadobooleano opcional Chrome 45 ou mais recenteSe a guia deve ser silenciada. 
- 
    openerTabIdnúmero optional O ID da guia que abriu esta guia. Se especificado, a guia de abertura precisa estar na mesma janela que esta guia. 
- 
    pixadobooleano opcional Se a guia deve ser fixada. 
- 
    selecionadobooleano opcional DescontinuadoUse destacado. Se a guia deve ser selecionada. 
- 
    urlstring opcional Um URL para navegar até a guia. URLs JavaScript não são aceitos. Use scripting.executeScript.
 
- 
    
Retorna
- 
            Promise<Tab | undefined> Chrome 88 ou mais recente
Eventos
onActivated
chrome.tabs.onActivated.addListener(
callback: function,
)
Disparado quando a guia ativa em uma janela muda. O URL da guia pode não estar definido quando esse evento é acionado, mas você pode ouvir eventos "onUpdated" para receber uma notificação quando um URL for definido.
Parâmetros
- 
    callbackfunção O parâmetro callbacktem esta aparência:(activeInfo: object) => void - 
    activeInfoobjeto - 
    tabIdnúmero O ID da guia que foi ativada. 
- 
    windowIdnúmero O ID da janela em que a guia ativa foi alterada. 
 
- 
    
 
- 
    
onAttached
chrome.tabs.onAttached.addListener(
callback: function,
)
Disparado quando uma guia é anexada a uma janela, por exemplo, porque foi movida entre janelas.
Parâmetros
- 
    callbackfunção O parâmetro callbacktem esta aparência:(tabId: number, attachInfo: object) => void - 
    tabIdnúmero 
- 
    attachInfoobjeto - 
    newPositionnúmero 
- 
    newWindowIdnúmero 
 
- 
    
 
- 
    
onCreated
chrome.tabs.onCreated.addListener(
callback: function,
)
Disparado quando uma guia é criada. O URL da guia e a associação ao grupo de guias podem não estar definidos quando esse evento é acionado, mas você pode ouvir eventos "onUpdated" para receber uma notificação quando um URL é definido ou a guia é adicionada a um grupo de guias.
onDetached
chrome.tabs.onDetached.addListener(
callback: function,
)
Disparado quando uma guia é separada de uma janela, por exemplo, porque foi movida entre janelas.
Parâmetros
- 
    callbackfunção O parâmetro callbacktem esta aparência:(tabId: number, detachInfo: object) => void - 
    tabIdnúmero 
- 
    detachInfoobjeto - 
    oldPositionnúmero 
- 
    oldWindowIdnúmero 
 
- 
    
 
- 
    
onHighlighted
chrome.tabs.onHighlighted.addListener(
callback: function,
)
Disparado quando as guias destacadas ou selecionadas em uma janela mudam.
Parâmetros
- 
    callbackfunção O parâmetro callbacktem esta aparência:(highlightInfo: object) => void - 
    highlightInfoobjeto - 
    tabIdsnumber[] Todas as guias destacadas na janela. 
- 
    windowIdnúmero A janela com as guias alteradas. 
 
- 
    
 
- 
    
onMoved
chrome.tabs.onMoved.addListener(
callback: function,
)
Disparado quando uma guia é movida em uma janela. Apenas um evento de movimentação é disparado, representando a guia que o usuário moveu diretamente. Os eventos de movimento não são disparados para as outras guias que precisam se mover em resposta à guia movida manualmente. Esse evento não é disparado quando uma guia é movida entre janelas. Para mais detalhes, consulte tabs.onDetached.
Parâmetros
- 
    callbackfunção O parâmetro callbacktem esta aparência:(tabId: number, moveInfo: object) => void - 
    tabIdnúmero 
- 
    moveInfoobjeto - 
    fromIndexnúmero 
- 
    toIndexnúmero 
- 
    windowIdnúmero 
 
- 
    
 
- 
    
onRemoved
chrome.tabs.onRemoved.addListener(
callback: function,
)
Disparado quando uma guia é fechada.
Parâmetros
- 
    callbackfunção O parâmetro callbacktem esta aparência:(tabId: number, removeInfo: object) => void - 
    tabIdnúmero 
- 
    removeInfoobjeto - 
    isWindowClosingbooleano Verdadeiro quando a guia foi fechada porque a janela principal foi fechada. 
- 
    windowIdnúmero A janela cuja guia foi fechada. 
 
- 
    
 
- 
    
onReplaced
chrome.tabs.onReplaced.addListener(
callback: function,
)
Disparado quando uma guia é substituída por outra devido à pré-renderização ou instantânea.
Parâmetros
- 
    callbackfunção O parâmetro callbacktem esta aparência:(addedTabId: number, removedTabId: number) => void - 
    addedTabIdnúmero 
- 
    removedTabIdnúmero 
 
- 
    
onUpdated
chrome.tabs.onUpdated.addListener(
callback: function,
)
Disparado quando uma guia é atualizada.
Parâmetros
- 
    callbackfunção O parâmetro callbacktem esta aparência:(tabId: number, changeInfo: object, tab: Tab) => void - 
    tabIdnúmero 
- 
    changeInfoobjeto - 
    Audiblebooleano opcional Chrome 45 ou mais recenteO novo estado audível da guia. 
- 
    autoDiscardablebooleano opcional Chrome 54 ou mais recenteO novo estado de descarte automático da guia. 
- 
    descartoubooleano opcional Chrome 54 ou mais recenteO novo estado descartado da guia. 
- 
    favIconUrlstring opcional O novo URL do favicon da guia. 
- 
    congeladobooleano opcional Chrome 132 ou mais recenteO novo estado congelado da guia. 
- 
    groupIdnúmero optional Chrome 88 ou mais recenteO novo grupo da guia. 
- 
    mutedInfoMutedInfo opcional Chrome 46 ou mais recenteO novo estado de mudo da guia e o motivo da mudança. 
- 
    pixadobooleano opcional O novo estado fixado da guia. 
- 
    splitViewIdnúmero optional Chrome 140 ou mais recenteA nova visualização dividida da guia. 
- 
    statusTabStatus opcional O status de carregamento da guia. 
- 
    títulostring opcional Chrome 48 ou mais recenteO novo título da guia. 
- 
    urlstring opcional O URL da guia, se ele tiver mudado. 
 
- 
    
- 
    tab
 
- 
    
onZoomChange
chrome.tabs.onZoomChange.addListener(
callback: function,
)
Disparado quando uma guia recebe zoom.
Parâmetros
- 
    callbackfunção O parâmetro callbacktem esta aparência:(ZoomChangeInfo: object) => void - 
    ZoomChangeInfoobjeto - 
    newZoomFactornúmero 
- 
    oldZoomFactornúmero 
- 
    tabIdnúmero 
- 
    zoomSettings
 
- 
    
 
-