refresh date: 2026-09-25 robots: noindex
Descrição
Use a API chrome.tabs para interagir com o sistema de guias do navegador. Use essa API para criar, modificar e reorganizar guias no navegador.
Visão geral
A API Tabs não só oferece recursos para manipular e gerenciar guias, mas também pode detectar o idioma da guia, fazer uma captura de tela e se comunicar com os scripts de conteúdo de uma guia.
Permissões
A maioria dos recursos não exige permissões para ser usada. 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 organizador
- As permissões de host permitem que uma extensão leia e consulte as quatro propriedades confidenciais
tabs.Tabde uma guia correspondente. 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 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 abaixo 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"
});
}
});
Acessar a guia atual
Este exemplo demonstra como o service worker de uma extensão pode recuperar a guia ativa da janela em foco no momento (ou da janela em foco mais recente, se nenhuma janela do Chrome estiver em foco). 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 silenciamento 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 ao clicar nela
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, é possível usar o mesmo padrão de espera para outras chamadas que modificam guias enquanto
um arrasto 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 para o script de conteúdo de uma guia selecionada
Este exemplo demonstra como o service worker de uma 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 as seguintes opções:
Tipos
MutedInfo
O estado de silenciamento da guia e o motivo da última mudança de estado.
Propriedades
-
extensionId
string opcional
O ID da extensão que mudou o estado de silenciamento. Não será definido se uma extensão não tiver sido o motivo da última mudança do estado de som desativado.
-
silenciado
booleano
Se a guia está com o som desativado (impedida de reproduzir som). A guia pode ser silenciada mesmo que não tenha tocado ou não esteja tocando som no momento. Equivalente a se o indicador de áudio "silenciado" está aparecendo.
-
reason
MutedInfoReason opcional
O motivo pelo qual o som da guia foi desativado ou ativado. Não será definido se o estado de desativação do som da guia nunca tiver sido alterado.
MutedInfoReason
Um evento que causou uma mudança no estado de silenciamento.
Enumeração
"user"
Uma ação de entrada do usuário definiu o estado de silenciamento.
"capture"
A captura de guia foi iniciada, forçando uma mudança no estado de desativação do som.
"extension"
Uma extensão, identificada pelo campo extensionId, definiu o estado de silenciamento.
Tab
Propriedades
-
ativo
booleano
Se a guia está ativa na janela. Não significa necessariamente que a janela está em foco.
-
Audible
booleano opcional
Chrome 45+Se a guia produziu som nos últimos segundos (mas pode não ser ouvida se também estiver silenciada). Equivalente a se o indicador "áudio do alto-falante" está sendo mostrado.
-
autoDiscardable
booleano
Chrome 54 ou mais recenteSe a guia pode ser descartada automaticamente pelo navegador quando os recursos estão baixos.
-
descartou
booleano
Chrome 54 ou mais recenteSe a guia foi descartada. Uma guia descartada é aquela em que o 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.
-
favIconUrl
string opcional
O URL do favicon da guia. Essa propriedade só estará 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. -
congelado
booleano
Chrome 132+Se 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 é carregado na memória. Ele é descongelado na ativação.
-
groupId
número
Chrome 88+O ID do grupo ao qual a guia pertence.
-
altura
número optional
A altura da guia em pixels.
-
em destaque
booleano
Se a guia está destacada.
-
ID
nú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, em que 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 do DevTools. -
incognito
booleano
Se a guia está em uma janela anônima.
-
índice
número
O índice baseado em zero da guia na janela.
-
lastAccessed
número
Chrome 121+A última vez que a guia ficou ativa na janela, como o número de milissegundos desde a época.
-
mutedInfo
MutedInfo opcional
Chrome 46 ou mais recenteO estado de silenciamento da guia e o motivo da última mudança de estado.
-
openerTabId
número optional
O ID da guia que abriu esta guia, se houver. Essa propriedade só estará presente se a guia de abertura ainda existir.
-
pendingUrl
string opcional
Chrome 79+O URL para o qual a guia está navegando, antes de ser confirmado. Essa propriedade só estará 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. -
pixado
booleano
Se a guia está fixada.
-
selecionado
booleano
DescontinuadoUse
tabs.Tab.highlighted.Se a guia está selecionada.
-
sessionId
string opcional
O ID da sessão usado para identificar de forma exclusiva uma guia recebida da API
sessions. -
splitViewId
número optional
Chrome 140 ou mais recenteO ID da visualização dividida a que a guia pertence.
-
status
TabStatus opcional
O status de carregamento da guia.
-
título
string opcional
O título da guia. Essa propriedade só estará presente se a extensão tiver a permissão
"tabs"ou permissões de host para a página. -
url
string opcional
O último URL confirmado do frame principal da guia. Essa propriedade só estará 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. -
largura
número optional
A largura da guia em pixels.
-
windowId
número
O ID da janela que contém a guia.
TabStatus
O status de carregamento da guia.
Enumeração
"unloaded"
"loading"
"complete"
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
-
defaultZoomFactor
número optional
Chrome 43+Usado para retornar o nível de zoom padrão da guia atual em chamadas para tabs.getZoomSettings.
-
modo
ZoomSettingsMode opcional
Define como as mudanças de zoom são processadas, ou seja, qual entidade é responsável pelo escalonamento real da página. O padrão é
automatic. -
escopo
ZoomSettingsScope opcional
Define se as mudanças de zoom persistem para a origem da página ou se só entram em vigor nesta guia. O padrão é
per-originno modoautomaticeper-tabnos outros casos.
ZoomSettingsMode
Define como as mudanças de zoom são processadas, ou seja, qual entidade é responsável pelo escalonamento real da página. O padrão é automatic.
Enumeração
"automatic"
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 de per-origin. Portanto, ele ignora a configuração de zoom de 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 se só entram em vigor nesta guia. O padrão é per-origin no modo automatic e per-tab nos outros casos.
Enumeração
"per-origin"
As mudanças de zoom persistem na origem da página ampliada, ou seja, todas as outras guias que acessarem 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 são ampliadas com o mesmo fator de zoom. O escopo per-origin só está disponível no modo automatic.
"per-tab"
As mudanças de zoom só são aplicadas na guia atual, e as mudanças em outras guias não afetam o zoom dessa guia. Além disso, as mudanças de zoom de per-tab são redefinidas na navegação. Navegar em uma guia sempre carrega páginas com os fatores de zoom de 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
SPLIT_VIEW_ID_NONE
Um ID que representa a ausência de uma guia dividida.
Valor
-1
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 barra de guias.
Valor
-1
Métodos
captureVisibleTab()
chrome.tabs.captureVisibleTab(
windowId?: number,
options?: ImageDetails,
callback?: function,
): Promise<string>
Captura a área visível da guia ativa 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 normalmente podem acessar, esse método permite que as extensões capturem sites sensíveis que, de outra forma, seriam restritos, incluindo páginas do esquema chrome:, páginas de outras extensões e URLs de dados. 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 acesso a eles.
Parâmetros
-
windowId
número optional
A janela de destino. O padrão é a janela atual.
-
opções
ImageDetails opcional
-
callback
função optional
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 HTML
imgpara exibição.
-
Retorna
-
Promise<string>
Chrome 88+As 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
-
tabId
número
-
connectInfo
objeto optional
-
documentId
string opcional
Chrome 106+Abra uma porta para um documento específico identificado por
documentIdem vez de todos os frames na guia. -
frameId
número optional
Abra uma porta para um frame específico identificado por
frameIdem vez de todos os frames na guia. -
nome
string opcional
É transmitido para onConnect para 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
-
createProperties
objeto
-
ativo
booleano 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. -
índice
nú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.
-
openerTabId
nú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.
-
pixado
booleano opcional
Se a guia deve ser fixada. O valor padrão é
false. -
selecionado
booleano opcional
DescontinuadoUse active.
Se a guia deve se tornar a guia selecionada na janela. O valor padrão é
true. -
splitWithTabId
número optional
Chrome 155+O ID de uma guia atual para criar uma visualização dividida. Se especificada, a guia de divisão precisa atender às seguintes condições:
- Não pode ser uma guia já dividida.
- Ela precisa estar na mesma janela que a guia recém-criada.
- Se
windowIdfor especificado, ele precisará ser igual ao ID da janela da guia de divisão. - Se
indexfor especificado, ele precisará ser um índice adjacente à guia de divisão e afetará o posicionamento relativo da guia recém-criada.
-
url
string opcional
O URL para navegar inicialmente na 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".
-
windowId
número optional
A janela em que a nova guia será criada. O padrão é a janela atual.
-
-
callback
função optional
O parâmetro
callbacké semelhante a:(tab: Tab) => void
-
tab
A guia criada.
-
Retorna
-
Promise<Tab>
Chrome 88+As promessas só são compatíveis com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.
createSplit()
chrome.tabs.createSplit(
tabIds: [number, number],
callback?: function,
): Promise<number>
Divide duas guias em uma visualização dividida.
Parâmetros
-
tabIds
[number, number]
Uma matriz de exatamente dois IDs de guia para parear em uma visualização dividida. Todas as guias precisam atender às seguintes condições:
Eles precisam ser adjacentes. Eles não podem estar em uma visualização dividida. Eles precisam ter estados
windowId,pinnedegroupIdcorrespondentes. -
callback
função optional
O parâmetro
callbacké semelhante a:(splitViewId: number) => void
-
splitViewId
número
O ID da visualização dividida recém-criada que contém as guias especificadas.
-
Retorna
-
Promise<number>
As 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
-
tabId
número optional
O padrão é a guia ativa da janela atual.
-
callback
função optional
O parâmetro
callbacké semelhante a:(language: string) => void
-
language
string
Um código de idioma ISO, como
enoufr. Para uma lista completa de idiomas compatíveis com esse método, consulte kLanguageInfoTable. As colunas de dois a quatro são verificadas, e o primeiro valor não nulo é retornado, exceto para chinês simplificado, em quezh-CNé retornado. Para um idioma desconhecido/indefinido,undé retornado.
-
Retorna
-
Promise<string>
Chrome 88+As 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
-
tabId
nú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.
-
callback
função optional
O parâmetro
callbacké semelhante a:(tab?: Tab) => void
-
tab
Guia opcional
A guia descartada, se tiver sido descartada; caso contrário, indefinida.
-
Retorna
-
Promise<Tab | undefined>
Chrome 88+É resolvida após a conclusão da operação.
As 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
-
tabId
número
O ID da guia que será duplicada.
-
callback
função optional
O parâmetro
callbacké semelhante a:(tab?: Tab) => void
Retorna
-
Promise<Tab | undefined>
Chrome 88+As 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
-
tabId
número optional
O ID da guia em que o script será executado. O padrão é a guia ativa da janela atual.
-
detalhes
Detalhes do script a ser executado. É necessário definir a propriedade de código ou de arquivo, mas não as duas ao mesmo tempo.
-
callback
função optional
O parâmetro
callbacké semelhante a:(result?: any[]) => void
-
resultado
any[] optional
O resultado do script em cada frame injetado.
-
Retorna
-
Promise<any[] | undefined>
Chrome 88+É resolvida depois que todo o JavaScript é executado.
As 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
-
tabId
número
-
callback
função optional
O parâmetro
callbacké semelhante a:(tab: Tab) => void
-
tab
-
Retorna
-
Promise<Tab>
Chrome 88+As 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
-
windowId
número optional
O padrão é a janela atual.
-
callback
função optional
O parâmetro
callbacké semelhante a:(tabs: Tab[]) => void
-
tabs
Tab[]
-
Retorna
-
Promise<Tab[]>
Chrome 88+As 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 a chamada do 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+As 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
-
windowId
número optional
O padrão é a janela atual.
-
callback
função optional
O parâmetro
callbacké semelhante a:(tab: Tab) => void
-
tab
-
Retorna
-
Promise<Tab>
Chrome 88+As 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
-
tabId
número optional
O ID da guia de onde o fator de zoom atual será extraído. O padrão é a guia ativa da janela atual.
-
callback
função optional
O parâmetro
callbacké semelhante a:(zoomFactor: number) => void
-
zoomFactor
número
O fator de zoom atual da guia.
-
Retorna
-
Promise<number>
Chrome 88+É resolvido com o fator de zoom atual da guia depois que ele é buscado.
As 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
-
tabId
número optional
O ID da guia de onde as configurações de zoom atuais serão extraídas. O padrão é a guia ativa da janela atual.
-
callback
função optional
O parâmetro
callbacké semelhante a:(zoomSettings: ZoomSettings) => void
-
zoomSettings
As configurações de zoom atuais da guia.
-
Retorna
-
Promise<ZoomSettings>
Chrome 88+Resolve com as configurações de zoom atuais da guia.
As 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>
Volta para a página anterior, se houver uma disponível.
Parâmetros
-
tabId
número optional
O ID da guia para voltar. O padrão é a guia selecionada da janela atual.
-
callback
função optional
O parâmetro
callbacké semelhante a:() => void
Retorna
-
Promessa<void>
Chrome 88+As 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 disponível.
Parâmetros
-
tabId
número optional
O ID da guia para navegar para frente. O padrão é a guia selecionada da janela atual.
-
callback
função optional
O parâmetro
callbacké semelhante a:() => void
Retorna
-
Promessa<void>
Chrome 88+As 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 fornecidas a um grupo recém-criado.
Parâmetros
-
opções
objeto
-
createProperties
objeto optional
Configurações para criar um grupo. Não pode ser usado se groupId já estiver especificado.
-
windowId
número optional
A janela do novo grupo. O padrão é a janela atual.
-
-
groupId
número optional
O ID do grupo em que as guias serão adicionadas. Se não for especificado, um novo grupo será criado.
-
tabIds
número | [número, ...número[]]
O ID da guia ou a lista de IDs de guias que serão adicionados ao grupo especificado.
-
-
callback
função optional
O parâmetro
callbacké semelhante a:(groupId: number) => void
-
groupId
nú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 foca na primeira do grupo. Parece que nada acontece se a guia especificada estiver ativa.
Parâmetros
-
highlightInfo
objeto
-
tabs
número | número[]
Um ou mais índices de guia para destacar.
-
windowId
número optional
A janela que contém as guias.
-
-
callback
função optional
O parâmetro
callbacké semelhante a:(window: Window) => void
-
janela
Contém detalhes sobre a janela em que as guias foram destacadas.
-
Retorna
-
Promise<windows.Window>
Chrome 88+As 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 de injeção programática do documento de scripts de conteúdo.
Parâmetros
-
tabId
número optional
O ID da guia em que o CSS será inserido. O padrão é a guia ativa da janela atual.
-
detalhes
Detalhes do texto CSS a ser inserido. É necessário definir a propriedade de código ou de arquivo, mas não as duas ao mesmo tempo.
-
callback
função optional
O parâmetro
callbacké semelhante a:() => void
Retorna
-
Promessa<void>
Chrome 88+É resolvida quando todo o CSS é inserido.
As 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 de e para janelas normais (window.type === "normal").
Parâmetros
-
tabIds
número | número[]
O ID da guia ou a lista de IDs das guias que serão movidas.
-
moveProperties
objeto
-
índice
número
A posição para onde a janela será movida. Use
-1para colocar a guia no final da janela. -
windowId
número optional
O padrão é a janela em que a guia está no momento.
-
-
callback
função optional
O parâmetro
callbacké semelhante a:(tabs: Tab | Tab[]) => void
Retorna
-
Chrome 88+
As 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 que têm as propriedades especificadas ou todas as guias se nenhuma propriedade for especificada.
Parâmetros
-
queryInfo
objeto
-
ativo
booleano opcional
Se as guias estão ativas nas janelas.
-
Audible
booleano opcional
Chrome 45+Se as guias são audíveis.
-
autoDiscardable
booleano opcional
Chrome 54 ou mais recenteSe as guias podem ser descartadas automaticamente pelo navegador quando os recursos estão baixos.
-
currentWindow
booleano opcional
Se as guias estão na janela atual.
-
descartou
booleano opcional
Chrome 54 ou mais recenteSe as guias são descartadas. Uma guia descartada é aquela em que o 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.
-
congelado
booleano opcional
Chrome 132+Se 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 é carregado na memória. Ele é descongelado na ativação.
-
groupId
número optional
Chrome 88+O ID do grupo em que as guias estão ou
tabGroups.TAB_GROUP_ID_NONEpara guias sem grupo. -
em destaque
booleano opcional
Se as guias estão destacadas.
-
índice
número optional
A posição das guias nas janelas.
-
lastFocusedWindow
booleano opcional
Se as guias estão na última janela em foco.
-
silenciado
booleano opcional
Chrome 45+Se as guias estão silenciadas.
-
pixado
booleano opcional
Se as guias estão fixadas.
-
splitViewId
nú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. -
status
TabStatus opcional
O status de carregamento da guia.
-
título
string opcional
Compare os títulos das páginas com um padrão. Essa propriedade será ignorada se a extensão não tiver a permissão
"tabs"ou permissões de host para a página. -
url
string | string[] opcional
Corresponda as guias a um ou mais padrões do URL. Os identificadores de fragmento não são correspondidos. Essa propriedade será ignorada se a extensão não tiver a permissão
"tabs"ou permissões de host para a página. -
windowId
número optional
O ID da janela pai ou
windows.WINDOW_ID_CURRENTpara a janela atual. -
windowType
WindowType opcional
O tipo de janela em que as guias estão.
-
-
callback
função optional
O parâmetro
callbacké semelhante a:(result: Tab[]) => void
-
resultado
Tab[]
-
Retorna
-
Promise<Tab[]>
Chrome 88+As 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>
Atualizar uma guia.
Parâmetros
-
tabId
número optional
O ID da guia a ser atualizada. O padrão é a guia selecionada da janela atual.
-
reloadProperties
objeto optional
-
bypassCache
booleano opcional
Se o armazenamento em cache local deve ser ignorado. O valor padrão é
false.
-
-
callback
função optional
O parâmetro
callbacké semelhante a:() => void
Retorna
-
Promessa<void>
Chrome 88+As 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
-
tabIds
número | número[]
O ID da guia ou a lista de IDs das guias que serão fechadas.
-
callback
função optional
O parâmetro
callbacké semelhante a:() => void
Retorna
-
Promessa<void>
Chrome 88+As 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
-
tabId
número optional
O ID da guia de onde o CSS será removido. O padrão é a guia ativa da janela atual.
-
detalhes
Detalhes do texto CSS a ser removido. É necessário definir a propriedade de código ou de arquivo, mas não as duas ao mesmo tempo.
-
callback
função optional
O parâmetro
callbacké semelhante a:() => void
Retorna
-
Promessa<void>
Chrome 88+É resolvida quando todo o CSS é removido.
As 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. O evento runtime.onMessage é disparado em cada script de conteúdo em execução na guia especificada para a extensão atual.
Parâmetros
-
tabId
número
-
mensagem
qualquer
A mensagem a ser enviada. Essa mensagem precisa ser um objeto JSON.
-
opções
objeto optional
-
callback
função optional
Chrome 99+O parâmetro
callbacké semelhante a:(response: any) => void
-
resposta
qualquer
O objeto de resposta JSON enviado pelo gerenciador da mensagem.
-
Retorna
-
Promise<any>
Chrome 99+Promessa que é resolvida com a resposta do script de conteúdo. Se ocorrer um erro ao se conectar à guia especificada, a promessa será rejeitada.
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 para os 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
-
tabId
número
-
solicitação
qualquer
-
callback
função optional
Chrome 99+O parâmetro
callbacké semelhante a:(response: any) => void
-
resposta
qualquer
O objeto de resposta JSON enviado pelo gerenciador da solicitação. Se ocorrer um erro ao se conectar à guia especificada, a promessa será rejeitada.
-
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 específica.
Parâmetros
-
tabId
número optional
O ID da guia que será ampliada. O padrão é a guia ativa da janela atual.
-
zoomFactor
número
O novo fator de zoom. Um valor de
0define a guia como o fator de zoom padrão atual. Valores maiores que0especificam um fator de zoom (possivelmente não padrão) para a guia. -
callback
função optional
O parâmetro
callbacké semelhante a:() => void
Retorna
-
Promessa<void>
Chrome 88+É resolvida depois que o fator de zoom é alterado.
As 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 de uma guia específica, que determinam 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
-
tabId
número optional
O ID da guia para mudar as configurações de zoom. O padrão é a guia ativa da janela atual.
-
zoomSettings
Define como as mudanças de zoom são processadas e em qual escopo.
-
callback
função optional
O parâmetro
callbacké semelhante a:() => void
Retorna
-
Promessa<void>
Chrome 88+É resolvida depois que as configurações de zoom são alteradas.
As 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
-
tabIds
número | [número, ...número[]]
O ID ou a lista de IDs das guias que serão removidas dos respectivos grupos.
-
callback
função optional
O parâmetro
callbacké semelhante a:() => 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.
unsplit()
chrome.tabs.unsplit(
splitViewId: number,
callback?: function,
): Promise<void>
Separa as guias em uma Visualização Dividida em guias independentes.
Parâmetros
-
splitViewId
número
O ID da visualização dividida que será separada.
-
callback
função optional
O parâmetro
callbacké semelhante a:() => 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 que não são especificadas em updateProperties não são modificadas.
Parâmetros
-
tabId
número optional
O padrão é a guia selecionada da janela atual.
-
updateProperties
objeto
-
ativo
booleano opcional
Se a guia deve estar ativa. Não afeta se a janela está em foco (consulte
windows.update). -
autoDiscardable
booleano opcional
Chrome 54 ou mais recenteSe a guia deve ser descartada automaticamente pelo navegador quando os recursos estão baixos.
-
em destaque
booleano opcional
Adiciona ou remove a guia da seleção atual.
-
silenciado
booleano opcional
Chrome 45+Se a guia deve ser silenciada.
-
openerTabId
número optional
O ID da guia que abriu esta guia. Se especificado, a guia de abertura precisa estar na mesma janela que esta guia.
-
pixado
booleano opcional
Se a guia deve ser fixada.
-
selecionado
booleano opcional
DescontinuadoUse highlighted.
Se a guia deve ser selecionada.
-
url
string opcional
Um URL para navegar na guia. URLs JavaScript não são compatíveis. Use
scripting.executeScript.
-
-
callback
função optional
O parâmetro
callbacké semelhante a:(tab?: Tab) => void
Retorna
-
Promise<Tab | undefined>
Chrome 88+As 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,
)
Dispara quando a guia ativa em uma janela muda. O URL da guia pode não estar definido no momento em que o evento é acionado, mas você pode detectar eventos onUpdated para receber uma notificação quando um URL for definido.
Parâmetros
-
callback
função
O parâmetro
callbacké semelhante a:(activeInfo: object) => void
-
activeInfo
objeto
-
tabId
número
O ID da guia que foi ativada.
-
windowId
número
O ID da janela em que a guia ativa foi alterada.
-
-
onActiveChanged
chrome.tabs.onActiveChanged.addListener(
callback: function,
)
Use tabs.onActivated.
É acionado quando a guia selecionada em uma janela muda. O URL da guia pode não estar definido no momento em que o evento é acionado, mas você pode detectar eventos tabs.onUpdated para receber uma notificação quando um URL for definido.
Parâmetros
-
callback
função
O parâmetro
callbacké semelhante a:(tabId: number, selectInfo: object) => void
-
tabId
número
-
selectInfo
objeto
-
windowId
nú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
-
callback
função
O parâmetro
callbacké semelhante a:(tabId: number, attachInfo: object) => void
-
tabId
número
-
attachInfo
objeto
-
newPosition
número
-
newWindowId
nú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 ser definidos no momento em que esse evento é acionado, mas você pode detectar eventos onUpdated para receber notificações quando um URL for definido ou a guia for adicionada a um grupo de guias.
onDetached
chrome.tabs.onDetached.addListener(
callback: function,
)
Disparado quando uma guia é desanexada de uma janela, por exemplo, porque foi movida entre janelas.
Parâmetros
-
callback
função
O parâmetro
callbacké semelhante a:(tabId: number, detachInfo: object) => void
-
tabId
número
-
detachInfo
objeto
-
oldPosition
número
-
oldWindowId
número
-
-
onHighlightChanged
chrome.tabs.onHighlightChanged.addListener(
callback: function,
)
Use tabs.onHighlighted.
Disparado quando as guias destacadas ou selecionadas em uma janela mudam.
Parâmetros
-
callback
função
O parâmetro
callbacké semelhante a:(selectInfo: object) => void
-
selectInfo
objeto
-
tabIds
number[]
Todas as guias destacadas na janela.
-
windowId
número
A janela em que as guias foram modificadas.
-
-
onHighlighted
chrome.tabs.onHighlighted.addListener(
callback: function,
)
Disparado quando as guias destacadas ou selecionadas em uma janela mudam.
Parâmetros
-
callback
função
O parâmetro
callbacké semelhante a:(highlightInfo: object) => void
-
highlightInfo
objeto
-
tabIds
number[]
Todas as guias destacadas na janela.
-
windowId
número
A janela em que as guias foram modificadas.
-
-
onMoved
chrome.tabs.onMoved.addListener(
callback: function,
)
Disparado quando uma guia é movida dentro de uma janela. Apenas um evento de movimentação é acionado, representando a guia que o usuário moveu diretamente. Os eventos de movimentação não são acionados 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
-
callback
função
O parâmetro
callbacké semelhante a:(tabId: number, moveInfo: object) => void
-
tabId
número
-
moveInfo
objeto
-
fromIndex
número
-
toIndex
número
-
windowId
número
-
-
onRemoved
chrome.tabs.onRemoved.addListener(
callback: function,
)
Disparado quando uma guia é fechada.
Parâmetros
-
callback
função
O parâmetro
callbacké semelhante a:(tabId: number, removeInfo: object) => void
-
tabId
número
-
removeInfo
objeto
-
isWindowClosing
booleano
Verdadeiro quando a guia foi fechada porque a janela mãe foi fechada.
-
windowId
número
A janela em que a guia foi fechada.
-
-
onReplaced
chrome.tabs.onReplaced.addListener(
callback: function,
)
Acionado quando uma guia é substituída por outra devido à pré-renderização ou ao Instant.
Parâmetros
-
callback
função
O parâmetro
callbacké semelhante a:(addedTabId: number, removedTabId: number) => void
-
addedTabId
número
-
removedTabId
número
-
onSelectionChanged
chrome.tabs.onSelectionChanged.addListener(
callback: function,
)
Use tabs.onActivated.
É acionado quando a guia selecionada em uma janela muda.
Parâmetros
-
callback
função
O parâmetro
callbacké semelhante a:(tabId: number, selectInfo: object) => void
-
tabId
número
-
selectInfo
objeto
-
windowId
nú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
-
callback
função
O parâmetro
callbacké semelhante a:(tabId: number, changeInfo: object, tab: Tab) => void
-
tabId
número
-
changeInfo
objeto
-
Audible
booleano opcional
Chrome 45+O novo estado de áudio da guia.
-
autoDiscardable
booleano opcional
Chrome 54 ou mais recenteO novo estado de descarte automático da guia.
-
descartou
booleano opcional
Chrome 54 ou mais recenteO novo estado descartado da guia.
-
favIconUrl
string opcional
O novo URL do favicon da guia.
-
congelado
booleano opcional
Chrome 132+O novo estado congelado da guia.
-
groupId
número optional
Chrome 88+O novo grupo da guia.
-
mutedInfo
MutedInfo opcional
Chrome 46 ou mais recenteO novo estado de silenciamento da guia e o motivo da mudança.
-
pixado
booleano opcional
O novo estado fixado da guia.
-
splitViewId
número optional
Chrome 140 ou mais recenteA nova visualização dividida da guia.
-
status
TabStatus opcional
O status de carregamento da guia.
-
título
string opcional
Chrome 48 ou mais recenteO novo título da guia.
-
url
string opcional
O URL da guia, se tiver sido alterado.
-
-
tab
-
onZoomChange
chrome.tabs.onZoomChange.addListener(
callback: function,
)
Acionado quando uma guia é ampliada.
Parâmetros
-
callback
função
O parâmetro
callbacké semelhante a:(ZoomChangeInfo: object) => void
-
ZoomChangeInfo
objeto
-
newZoomFactor
número
-
oldZoomFactor
número
-
tabId
número
-
zoomSettings
-
-