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.
Visão geral
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 chamartabs.query()em quatro propriedades sensíveis em instânciastabs.Tab:url,pendingUrl,titleefavIconUrl.
- Permissões do host As
- permissões de host permitem que uma extensão leia e consulte as quatro propriedades sensíveis de uma guia correspondente: tabs.Tab. Eles também podem interagir diretamente com as guias correspondentes usando métodos comotabs.captureVisibleTab(),tabs.executeScript(),tabs.insertCSS()etabs.removeCSS().
- A permissão "activeTab"
- activeTabconcede a uma extensão uma permissão temporária de host 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.
Manifesto
Confira a seguir exemplos de como declarar cada permissão no manifesto:
  {
    "name": "My extension",
    ...
    "permissions": [
      "tabs"
    ],
    ...
  }
  
  {
    "name": "My extension",
    ...
    "host_permissions": [
      "http://*/*",
      "https://*/*"
    ],
    ...
  }
  
  {
    "name": "My extension",
    ...
    "permissions": [
      "activeTab"
    ],
    ...
  }
Casos de uso
As seções a seguir demonstram alguns casos de uso comuns.
Abrir uma página de 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,
callback?: function,
): 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 
- 
    callbackfunção optional O parâmetro callbacktem esta aparência:(dataUrl: string) => void - 
    dataUrlstring Um URL de dados que codifica uma imagem da área visível da guia capturada. Pode ser atribuído à propriedade "src" de um elemento imgHTML para exibição.
 
- 
    
Retorna
- 
            Promise<string> Chrome 88 ou mais recenteAs promessas só são compatíveis com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks. 
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.
create()
chrome.tabs.create(
createProperties: object,
callback?: function,
): Promise<Tab>
Cria uma nova guia.
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. 
 
- 
    
- 
    callbackfunção optional O parâmetro callbacktem esta aparência:(tab: Tab) => void - 
    tabA guia criada. 
 
- 
    
Retorna
- 
            Promise<Tab> Chrome 88 ou mais recenteAs promessas só são compatíveis com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks. 
detectLanguage()
chrome.tabs.detectLanguage(
tabId?: number,
callback?: function,
): 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. 
- 
    callbackfunção optional O parâmetro callbacktem esta aparência:(language: string) => void - 
    languagestring Um código de idioma ISO, como enoufr. Para uma lista completa de idiomas compatíveis com esse método, consulte kLanguageInfoTable. As colunas da segunda à quarta são verificadas, e o primeiro valor não NULL é retornado, exceto para chinês simplificado, em quezh-CNé retornado. Para um idioma desconhecido/indefinido,undé retornado.
 
- 
    
Retorna
- 
            Promise<string> Chrome 88 ou mais recenteAs promessas só são compatíveis com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks. 
discard()
chrome.tabs.discard(
tabId?: number,
callback?: function,
): 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. 
- 
    callbackfunção optional O parâmetro callbacktem esta aparência:(tab?: Tab) => void - 
    tabGuia opcional A guia descartada, se ela foi descartada com sucesso. Caso contrário, será undefined. 
 
- 
    
Retorna
- 
            Promise<Tab | undefined> Chrome 88 ou mais recenteAs promessas só são compatíveis com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks. 
duplicate()
chrome.tabs.duplicate(
tabId: number,
callback?: function,
): Promise<Tab | undefined>
Duplica uma guia.
Parâmetros
- 
    tabIdnúmero O ID da guia a ser duplicada. 
- 
    callbackfunção optional O parâmetro callbacktem esta aparência:(tab?: Tab) => void 
Retorna
- 
            Promise<Tab | undefined> Chrome 88 ou mais recenteAs promessas só são compatíveis com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks. 
executeScript()
chrome.tabs.executeScript(
tabId?: number,
details: InjectDetails,
callback?: function,
): Promise<any[] | undefined>
Substituído por scripting.executeScript no Manifest V3.
Injeta código JavaScript em uma página. Para mais detalhes, consulte a seção injeção programática do documento de scripts de conteúdo.
Parâmetros
- 
    tabIdnúmero optional O ID da guia em que o script será executado. O padrão é a guia ativa da janela atual. 
- 
    detalhesDetalhes do script a ser executado. É necessário definir a propriedade de código ou de arquivo, mas não ambas ao mesmo tempo. 
- 
    callbackfunção optional O parâmetro callbacktem esta aparência:(result?: any[]) => void - 
    resultadoany[] optional O resultado do script em cada frame injetado. 
 
- 
    
Retorna
- 
            Promise<any[] | undefined> Chrome 88 ou mais recenteAs promessas só são compatíveis com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks. 
get()
chrome.tabs.get(
tabId: number,
callback?: function,
): Promise<Tab>
Recupera detalhes sobre a guia especificada.
Parâmetros
- 
    tabIdnúmero 
- 
    callbackfunção optional O parâmetro callbacktem esta aparência:(tab: Tab) => void - 
    tab
 
- 
    
Retorna
- 
            Promise<Tab> Chrome 88 ou mais recenteAs promessas só são compatíveis com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks. 
getAllInWindow()
chrome.tabs.getAllInWindow(
windowId?: number,
callback?: function,
): Promise<Tab[]>
Use tabs.query {windowId: windowId}.
Recebe detalhes sobre todas as guias na janela especificada.
Parâmetros
- 
    windowIdnúmero optional O padrão é a janela atual. 
- 
    callbackfunção optional O parâmetro callbacktem esta aparência:(tabs: Tab[]) => void - 
    guiasTab[] 
 
- 
    
Retorna
- 
            Promise<Tab[]> Chrome 88 ou mais recenteAs promessas só são compatíveis com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks. 
getCurrent()
chrome.tabs.getCurrent(
callback?: function,
): 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).
Parâmetros
Retorna
- 
            Promise<Tab | undefined> Chrome 88 ou mais recenteAs promessas só são compatíveis com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks. 
getSelected()
chrome.tabs.getSelected(
windowId?: number,
callback?: function,
): Promise<Tab>
Use tabs.query {active: true}.
Recebe a guia selecionada na janela especificada.
Parâmetros
- 
    windowIdnúmero optional O padrão é a janela atual. 
- 
    callbackfunção optional O parâmetro callbacktem esta aparência:(tab: Tab) => void - 
    tab
 
- 
    
Retorna
- 
            Promise<Tab> Chrome 88 ou mais recenteAs promessas só são compatíveis com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks. 
getZoom()
chrome.tabs.getZoom(
tabId?: number,
callback?: function,
): 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. 
- 
    callbackfunção optional O parâmetro callbacktem esta aparência:(zoomFactor: number) => void - 
    zoomFactornúmero O fator de zoom atual da guia. 
 
- 
    
Retorna
- 
            Promise<number> Chrome 88 ou mais recenteAs promessas só são compatíveis com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks. 
getZoomSettings()
chrome.tabs.getZoomSettings(
tabId?: number,
callback?: function,
): 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. 
- 
    callbackfunção optional O parâmetro callbacktem esta aparência:(zoomSettings: ZoomSettings) => void - 
    zoomSettingsAs configurações de zoom atuais da guia. 
 
- 
    
Retorna
- 
            Promise<ZoomSettings> Chrome 88 ou mais recenteAs promessas só são compatíveis com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks. 
goBack()
chrome.tabs.goBack(
tabId?: number,
callback?: function,
): 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. 
- 
    callbackfunção optional O parâmetro callbacktem esta aparência:() => void 
Retorna
- 
            Promessa<void> Chrome 88 ou mais recenteAs promessas só são compatíveis com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks. 
goForward()
chrome.tabs.goForward(
tabId?: number,
callback?: function,
): 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. 
- 
    callbackfunção optional O parâmetro callbacktem esta aparência:() => void 
Retorna
- 
            Promessa<void> Chrome 88 ou mais recenteAs promessas só são compatíveis com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks. 
group()
chrome.tabs.group(
options: object,
callback?: function,
): 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. 
 
- 
    
- 
    callbackfunção optional O parâmetro callbacktem esta aparência:(groupId: number) => void - 
    groupIdnúmero O ID do grupo em que as guias foram adicionadas. 
 
- 
    
Retorna
- 
            Promise<number> As promessas só são compatíveis com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks. 
highlight()
chrome.tabs.highlight(
highlightInfo: object,
callback?: function,
): 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. 
 
- 
    
- 
    callbackfunção optional O parâmetro callbacktem esta aparência:(window: Window) => void - 
    janelaContém detalhes sobre a janela cujas guias foram destacadas. 
 
- 
    
Retorna
- 
            Promise<windows.Window> Chrome 88 ou mais recenteAs promessas só são compatíveis com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks. 
insertCSS()
chrome.tabs.insertCSS(
tabId?: number,
details: InjectDetails,
callback?: function,
): Promise<void>
Substituído por scripting.insertCSS no Manifest V3.
Injeta CSS em uma página. Os estilos inseridos com esse método podem ser removidos com scripting.removeCSS. Para mais detalhes, consulte a seção injeção programática do documento de scripts de conteúdo.
Parâmetros
- 
    tabIdnúmero optional O ID da guia em que o CSS será inserido. O padrão é a guia ativa da janela atual. 
- 
    detalhesDetalhes do texto CSS a ser inserido. É necessário definir a propriedade de código ou de arquivo, mas não ambas ao mesmo tempo. 
- 
    callbackfunção optional O parâmetro callbacktem esta aparência:() => void 
Retorna
- 
            Promessa<void> Chrome 88 ou mais recenteAs promessas só são compatíveis com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks. 
move()
chrome.tabs.move(
tabIds: number | number[],
moveProperties: object,
callback?: function,
): 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. 
 
- 
    
- 
    callbackfunção optional O parâmetro callbacktem esta aparência:(tabs: Tab | Tab[]) => void 
Retorna
- 
            Chrome 88 ou mais recenteAs promessas só são compatíveis com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks. 
query()
chrome.tabs.query(
queryInfo: object,
callback?: function,
): 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. 
 
- 
    
- 
    callbackfunção optional O parâmetro callbacktem esta aparência:(result: Tab[]) => void - 
    resultadoTab[] 
 
- 
    
Retorna
- 
            Promise<Tab[]> Chrome 88 ou mais recenteAs promessas só são compatíveis com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks. 
reload()
chrome.tabs.reload(
tabId?: number,
reloadProperties?: object,
callback?: function,
): 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.
 
- 
    
- 
    callbackfunção optional O parâmetro callbacktem esta aparência:() => void 
Retorna
- 
            Promessa<void> Chrome 88 ou mais recenteAs promessas só são compatíveis com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks. 
remove()
chrome.tabs.remove(
tabIds: number | number[],
callback?: function,
): 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. 
- 
    callbackfunção optional O parâmetro callbacktem esta aparência:() => void 
Retorna
- 
            Promessa<void> Chrome 88 ou mais recenteAs promessas só são compatíveis com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks. 
removeCSS()
chrome.tabs.removeCSS(
tabId?: number,
details: DeleteInjectionDetails,
callback?: function,
): Promise<void>
Substituído por scripting.removeCSS no Manifest V3.
Remove de uma página o CSS que foi injetado anteriormente por uma chamada para scripting.insertCSS.
Parâmetros
- 
    tabIdnúmero optional O ID da guia de que o CSS será removido. O padrão é a guia ativa da janela atual. 
- 
    detalhesDetalhes do texto CSS a ser removido. É necessário definir a propriedade de código ou de arquivo, mas não ambas ao mesmo tempo. 
- 
    callbackfunção optional O parâmetro callbacktem esta aparência:() => void 
Retorna
- 
            Promessa<void> Chrome 88 ou mais recenteAs promessas só são compatíveis com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks. 
sendMessage()
chrome.tabs.sendMessage(
tabId: number,
message: any,
options?: object,
callback?: function,
): 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 
- 
    callbackfunção optional Chrome 99+O parâmetro callbacktem esta aparência:(response: any) => void - 
    respostaqualquer O objeto de resposta JSON enviado pelo manipulador da mensagem. Se ocorrer um erro ao se conectar à guia especificada, o callback será chamado sem argumentos, e runtime.lastErrorserá definido como a mensagem de erro.
 
- 
    
Retorna
- 
            Promise<any> Chrome 99+As promessas só são compatíveis com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks. 
sendRequest()
chrome.tabs.sendRequest(
tabId: number,
request: any,
callback?: function,
): Promise<any>
Use runtime.sendMessage.
Envia uma única solicitação aos scripts de conteúdo na guia especificada, com um callback opcional para ser executado quando uma resposta for enviada de volta. O evento extension.onRequest é disparado em cada script de conteúdo em execução na guia especificada para a extensão atual.
Parâmetros
- 
    tabIdnúmero 
- 
    solicitaçãoqualquer 
- 
    callbackfunção optional Chrome 99+O parâmetro callbacktem esta aparência:(response: any) => void - 
    respostaqualquer O objeto de resposta JSON enviado pelo manipulador da solicitação. Se ocorrer um erro ao se conectar à guia especificada, o callback será chamado sem argumentos, e runtime.lastErrorserá definido como a mensagem de erro.
 
- 
    
Retorna
- 
            Promise<any> Chrome 99+As promessas só são compatíveis com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks. 
setZoom()
chrome.tabs.setZoom(
tabId?: number,
zoomFactor: number,
callback?: function,
): 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.
- 
    callbackfunção optional O parâmetro callbacktem esta aparência:() => void 
Retorna
- 
            Promessa<void> Chrome 88 ou mais recenteAs promessas só são compatíveis com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks. 
setZoomSettings()
chrome.tabs.setZoomSettings(
tabId?: number,
zoomSettings: ZoomSettings,
callback?: function,
): 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. 
- 
    callbackfunção optional O parâmetro callbacktem esta aparência:() => void 
Retorna
- 
            Promessa<void> Chrome 88 ou mais recenteAs promessas só são compatíveis com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks. 
ungroup()
chrome.tabs.ungroup(
tabIds: number | [number, ...number[]],
callback?: function,
): 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. 
- 
    callbackfunção optional O parâmetro callbacktem esta aparência:() => void 
Retorna
- 
            Promessa<void> As promessas só são compatíveis com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks. 
update()
chrome.tabs.update(
tabId?: number,
updateProperties: object,
callback?: function,
): 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.
 
- 
    
- 
    callbackfunção optional O parâmetro callbacktem esta aparência:(tab?: Tab) => void 
Retorna
- 
            Promise<Tab | undefined> Chrome 88 ou mais recenteAs promessas só são compatíveis com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks. 
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. 
 
- 
    
 
- 
    
onActiveChanged
chrome.tabs.onActiveChanged.addListener(
callback: function,
)
Use tabs.onActivated.
Disparado quando a guia selecionada em uma janela muda. O URL da guia pode não estar definido quando esse evento é acionado, mas você pode ficar atento aos eventos tabs.onUpdated para receber uma notificação quando um URL for definido.
Parâmetros
- 
    callbackfunção O parâmetro callbacktem esta aparência:(tabId: number, selectInfo: object) => void - 
    tabIdnúmero 
- 
    selectInfoobjeto - 
    windowIdnúmero O ID da janela em que a guia selecionada 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 
 
- 
    
 
- 
    
onHighlightChanged
chrome.tabs.onHighlightChanged.addListener(
callback: function,
)
Use tabs.onHighlighted.
Disparado quando as guias destacadas ou selecionadas em uma janela mudam.
Parâmetros
- 
    callbackfunção O parâmetro callbacktem esta aparência:(selectInfo: object) => void - 
    selectInfoobjeto - 
    tabIdsnumber[] Todas as guias destacadas na janela. 
- 
    windowIdnúmero A janela com as guias alteradas. 
 
- 
    
 
- 
    
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 
 
- 
    
onSelectionChanged
chrome.tabs.onSelectionChanged.addListener(
callback: function,
)
Use tabs.onActivated.
Disparado quando a guia selecionada em uma janela muda.
Parâmetros
- 
    callbackfunção O parâmetro callbacktem esta aparência:(tabId: number, selectInfo: object) => void - 
    tabIdnúmero 
- 
    selectInfoobjeto - 
    windowIdnúmero O ID da janela em que a guia selecionada foi alterada. 
 
- 
    
 
- 
    
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
 
- 
    
 
-