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 oferece apenas recursos para manipular e gerenciar guias, mas também pode detectar o language da guia, faça uma captura de tela e comunicar-se com os scripts de conteúdo de uma guia.
Permissões
A maioria dos recursos não requer nenhuma permissão para ser usada. Por exemplo: criar uma nova guia, atualizar uma guia, navegar para outro URL etc.
Há três permissões que os desenvolvedores precisam conhecer ao trabalhar com a API Tabs.
- As "guias" permissão
Essa permissão não concede acesso ao namespace
chrome.tabs
. Em vez disso, concede a uma extensão a capacidade de chamartabs.query()
em quatro propriedades confidenciais em instâncias detabs.Tab
:url
,pendingUrl
,title
efavIconUrl
{ "name": "My extension", ... "permissions": [ "tabs" ], ... }
- Permissões do host
As permissões do host permitem que uma extensão leia e consulte as quatro métricas sensíveis
tabs.Tab
. Eles também podem interagir diretamente com as guias correspondentes usando métodos como comotabs.captureVisibleTab()
,tabs.executeScript()
,tabs.insertCSS()
etabs.removeCSS()
{ "name": "My extension", ... "host_permissions": [ "http://*/*", "https://*/*" ], ... }
- "activeTab" permissão
O
activeTab
concede a uma extensão permissão de host temporária para a guia atual em resposta a uma invocação de usuário. Ao contrário das permissões do host,activeTab
não aciona nenhum aviso.{ "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 estiver instalado. O exemplo abaixo 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 do a janela em foco no momento (ou a janela em foco mais recentemente, se nenhuma janela do Chrome estiver focada). Isso geralmente pode ser considerada 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);
});
}
Silenciar a guia especificada
Este exemplo mostra como uma extensão pode alternar o estado silenciado para 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
, será possível 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 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ão
Para ver mais demonstrações de extensões da API de guias, explore qualquer um dos seguintes itens:
Tipos
MutedInfo
O estado silenciado da guia e o motivo da última alteração de estado.
Propriedades
-
extensionId
string opcional
O ID da extensão que mudou o estado silenciado. Não definido se uma extensão não tiver sido o motivo da última mudança do estado silenciado.
-
silenciado
booleano
Indica se a guia está silenciada (impedida a reprodução de som). A guia pode ser silenciada mesmo que não tenha sido reproduzida ou não esteja reproduzindo som no momento. Equivalente indica se a opção "silenciado" o indicador de áudio está aparecendo.
-
reason
MutedInfoReason opcional
O motivo pelo qual o som da guia foi ativado ou desativado. Não definido se o estado de silenciamento da guia nunca tiver sido alterado.
MutedInfoReason
Um evento que causou uma alteração de estado silenciado.
Enumeração
"usuário"
Uma ação de entrada do usuário define o estado silenciado.
"capture"
A captura da guia foi iniciada, forçando uma alteração de estado silenciado.
"extension"
Uma extensão, identificada pelo campo extensionId, define o estado silenciado.
Tab
Propriedades
-
ativo
booleano
Indica se a guia está ativa na janela. Não significa necessariamente que a janela está focada.
-
Audible
booleano opcional
Chrome 45 ou superiorSe a guia produziu som nos últimos segundos (mas pode não ser ouvida se o som também estiver desativado). Equivalente se o "áudio do alto-falante" está sendo exibido.
-
autoDiscardable
booleano
Chrome 54 ou superiorDefine se a guia pode ser descartada automaticamente pelo navegador quando os recursos estiverem baixos.
-
descartou
booleano
Chrome 54 ou superiorIndica se a guia é 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 será recarregado na próxima vez que for ativado.
-
favIconUrl
string opcional
É o URL do favicon da guia. Essa propriedade só estará presente se o manifesto da extensão incluir a permissão
"tabs"
. Também pode ser uma string vazia se a guia estiver sendo carregada. -
groupId
number
Chrome 88 ou superiorO ID do grupo ao qual a guia pertence.
-
altura
número opcional
A altura da guia em pixels.
-
em destaque
booleano
Indica se a guia está destacada.
-
id
número opcional
O ID da guia. Os IDs de guia são exclusivos em uma sessão do navegador. Sob algumas circunstâncias, uma guia pode não receber um ID; por exemplo, ao consultar guias externas usando a API
sessions
, nesse caso, um ID de sessão pode estar presente. O ID da guia também pode ser definido comochrome.tabs.TAB_ID_NONE
para apps e janelas do DevTools. -
navegação anônima
booleano
Se a guia está em uma janela anônima.
-
index
number
O índice baseado em zero da guia dentro da janela.
-
lastAccessed
number
Chrome 121 ou versões mais recentesA última vez que a guia foi acessada como o número de milissegundos desde a época.
-
mutedInfo
MutedInfo opcional
Chrome 46 ou superiorO estado silenciado da guia e o motivo da última alteração de estado.
-
openerTabId
número opcional
O ID da guia que abriu essa guia, se houver. Esta propriedade só estará presente se a guia de abertura ainda existir.
-
pendingUrl
string opcional
Chrome 79 ou superiorO URL para o qual a guia está navegando, antes da confirmação. Essa propriedade só estará presente se o manifesto da extensão incluir a permissão
"tabs"
e houver uma navegação pendente. -
pixado
booleano
Indica se a guia está fixada.
-
selecionado
booleano
DescontinuadoUse
tabs.Tab.highlighted
.Indica se a guia está selecionada.
-
sessionId
string opcional
O ID da sessão usado para identificar exclusivamente uma guia recebida da API
sessions
. -
status
TabStatus opcional
O status de carregamento da guia.
-
título
string opcional
Título da guia. Essa propriedade só estará presente se o manifesto da extensão incluir a permissão
"tabs"
. -
url
string opcional
O último URL confirmado do frame principal da guia. Essa propriedade só estará presente se o manifesto da extensão incluir a permissão
"tabs"
e poderá ser uma string vazia se a guia ainda não tiver sido confirmada. Consulte tambémTab.pendingUrl
. -
largura
número opcional
A largura da guia em pixels.
-
windowId
number
O ID da janela que contém a guia.
TabStatus
O status de carregamento da guia.
Enumeração
"descarregado"
"carregando"
"concluído"
WindowType
O tipo de janela.
Enumeração
"normal"
"popup"
"painel"
"app"
"Desenvolvedores"
ZoomSettings
Define como as mudanças de zoom em uma guia são tratadas e em qual escopo.
Propriedades
-
defaultZoomFactor
número opcional
Chrome 43 ou superiorUsado para retornar o nível de zoom padrão da guia atual em chamadas para tabs.getZoomSettings.
-
modo
ZoomSettingsMode optional
define como as mudanças de zoom são tratadas, 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 vão persistir na origem da página ou só entrar em vigor nesta guia. o padrão é
per-origin
quando no modoautomatic
. Caso contrário, seráper-tab
.
ZoomSettingsMode
define como as mudanças de zoom são tratadas, ou seja, qual entidade é responsável pelo escalonamento real da página; o padrão é automatic
.
Enumeração
"automático"
As alterações de zoom são processadas automaticamente pelo navegador.
"manual"
Substitui o tratamento automático de alterações 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
e, portanto, ignora a configuração de zoom de scope
e assume per-tab
.
"desativado"
Desativa todo o zoom na guia. A guia é revertida para o nível de zoom padrão, e todas as tentativas de mudança de zoom são ignoradas.
ZoomSettingsScope
Define se as mudanças de zoom vão persistir na origem da página ou só entrar em vigor nesta guia. o padrão é per-origin
quando no modo automatic
. Caso contrário, será per-tab
.
Enumeração
"per-origin"
As mudanças de zoom persistem na origem da página com zoom, ou seja, todas as outras guias navegadas para essa mesma origem também são ampliadas. Além disso, as alterações 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 são ampliadas para o mesmo fator de zoom. O escopo per-origin
só está disponível no modo automatic
.
"por guia"
As alterações de zoom só entram em vigor nesta guia, e as alterações de zoom em outras guias não afetam o zoom desta guia. Além disso, per-tab
alterações de zoom são redefinidas durante a navegação. Navegar por uma guia sempre carrega páginas com os fatores de zoom per-origin
correspondentes.
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
Menos de 1
TAB_INDEX_NONE
Um índice que representa a ausência de um índice de guias em um tab_strip.
Valor
Menos de 1
Métodos
captureVisibleTab()
chrome.tabs.captureVisibleTab(
windowId?: number,
options?: ImageDetails,
callback?: function,
)
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 as extensões capturem sites confidenciais que são restritos, incluindo páginas "chrome:-scheme", outras extensões. páginas e dados: URLs. Esses sites confidenciais só podem ser capturados com a permissão ActiveTab. Os URLs de arquivos só poderão ser capturados se a extensão tiver recebido acesso ao arquivo.
Parâmetros
-
windowId
número opcional
A janela de destino. O padrão é a janela atual.
-
opções
ImageDetails opcional
-
callback
função opcional
O parâmetro
callback
tem esta aparência:(dataUrl: string) => void
-
dataUrl
string
Um URL de dados que codifica uma imagem da área visível da guia capturada. Pode ser atribuído ao "src" propriedade de um elemento HTML
img
para exibição.
-
Retorna
-
Promessa<string>
Chrome 88 ou superiorO Manifesto V3 e versões mais recentes oferecem suporte a promessas, mas callbacks são fornecidos para a compatibilidade com versões anteriores. Não é possível usar ambos na mesma chamada de função. A promessa é resolvida com o mesmo tipo passado ao retorno de chamada.
connect()
chrome.tabs.connect(
tabId: number,
connectInfo?: object,
)
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 do script de conteúdo.
Parâmetros
-
tabId
number
-
connectInfo
objeto opcional
-
documentId
string opcional
Chrome 106 ou versões mais recentesAbra uma porta para um documento específico identificado por
documentId
, em vez de todos os frames na guia. -
frameId
número opcional
Abra uma porta para um frame específico identificado por
frameId
, em vez de todos os frames na guia. -
nome
string opcional
É transmitido ao onConnect para scripts de conteúdo que estão detectando o evento de conexão.
-
Retorna
-
Uma porta que pode ser usada para comunicação com os scripts de conteúdo em execução na guia especificada. O evento
runtime.Port
da porta é disparado quando a guia é fechada ou não existe.
create()
chrome.tabs.create(
createProperties: object,
callback?: function,
)
Cria uma nova guia.
Parâmetros
-
createProperties
objeto
-
ativo
booleano opcional
Se a guia deve se tornar a ativa na janela. Isso não afeta o foco da janela (consulte
windows.update
). O padrão étrue
. -
index
número opcional
A posição da guia na janela. O valor fornecido é fixado entre zero e o número de guias na janela.
-
openerTabId
número opcional
O ID da guia que a abriu. Se especificada, a guia de abertura deve estar na mesma janela que a guia recém-criada.
-
pixado
booleano opcional
Indica se a guia deve ser fixada. O valor padrão é
false
. -
selecionado
booleano opcional
DescontinuadoUse active.
Se a guia deve se tornar a selecionada na janela. O valor padrão é
true
. -
url
string opcional
O URL para navegar inicialmente pela guia. URLs totalmente qualificados devem incluir um esquema (por exemplo, "http://www.google.com", não "www.google.com"). URLs relativos são relativos à página atual na extensão. O padrão é a página "Nova guia".
-
windowId
número opcional
Janela em que a nova guia será criada. O padrão é a janela atual.
-
-
callback
função opcional
O parâmetro
callback
tem esta aparência:(tab: Tab) => void
-
tab
A guia criada.
-
Retorna
-
Promessa<Tab>
Chrome 88 ou superiorO Manifesto V3 e versões mais recentes oferecem suporte a promessas, mas callbacks são fornecidos para a compatibilidade com versões anteriores. Não é possível usar ambos na mesma chamada de função. A promessa é resolvida com o mesmo tipo passado ao retorno de chamada.
detectLanguage()
chrome.tabs.detectLanguage(
tabId?: number,
callback?: function,
)
Detecta o idioma principal do conteúdo de uma guia.
Parâmetros
-
tabId
número opcional
O padrão é a guia ativa da janela atual.
-
callback
função opcional
O parâmetro
callback
tem esta aparência:(language: string) => void
-
language
string
Um código de idioma ISO, como
en
oufr
. Para uma lista completa dos idiomas compatíveis com esse método, consulte kLanguageInfoTable. A segunda a quarta colunas são verificadas, e o primeiro valor não NULL é retornado, exceto em chinês simplificado, para o qualzh-CN
é retornado. Para um idioma desconhecido/indefinido, é retornadound
.
-
Retorna
-
Promessa<string>
Chrome 88 ou superiorO Manifesto V3 e versões mais recentes oferecem suporte a promessas, mas callbacks são fornecidos para a compatibilidade com versões anteriores. Não é possível usar ambos na mesma chamada de função. A promessa é resolvida com o mesmo tipo passado ao retorno de chamada.
discard()
chrome.tabs.discard(
tabId?: number,
callback?: function,
)
Descarta uma guia da memória. As guias descartadas continuam visíveis na barra de guias e são atualizadas quando ativadas.
Parâmetros
-
tabId
número opcional
O ID da guia a ser descartada. Se especificada, a guia será descartada, a menos que esteja ativa ou já seja descartada. Se omitida, o navegador descartará a guia menos importante. Isso pode falhar se não houver guias descartáveis.
-
callback
função opcional
O parâmetro
callback
tem esta aparência:(tab?: Tab) => void
-
tab
Guia opcional
A guia descartada, se tiver sido descartada com sucesso; indefinido, caso contrário.
-
Retorna
-
Promessa<Tab | indefinido>
Chrome 88 ou superiorO Manifesto V3 e versões mais recentes oferecem suporte a promessas, mas callbacks são fornecidos para a compatibilidade com versões anteriores. Não é possível usar ambos na mesma chamada de função. A promessa é resolvida com o mesmo tipo passado ao retorno de chamada.
duplicate()
chrome.tabs.duplicate(
tabId: number,
callback?: function,
)
Duplica uma guia.
Parâmetros
-
tabId
number
O ID da guia a ser duplicada.
-
callback
função opcional
O parâmetro
callback
tem esta aparência:(tab?: Tab) => void
Retorna
-
Promessa<Tab | indefinido>
Chrome 88 ou superiorO Manifesto V3 e versões mais recentes oferecem suporte a promessas, mas callbacks são fornecidos para a compatibilidade com versões anteriores. Não é possível usar ambos na mesma chamada de função. A promessa é resolvida com o mesmo tipo passado ao retorno de chamada.
executeScript()
chrome.tabs.executeScript(
tabId?: number,
details: InjectDetails,
callback?: function,
)
Substituído por scripting.executeScript
no Manifesto V3.
Injeta código JavaScript em uma página. Para mais detalhes, consulte a seção Injeção programática no documento de scripts de conteúdo.
Parâmetros
-
tabId
número opcional
O ID da guia na qual executar o script. o padrão é a guia ativa da janela atual.
-
detalhes
Detalhes do script a ser executado. É necessário definir o código ou a propriedade do arquivo, mas não é possível definir ambos ao mesmo tempo.
-
callback
função opcional
O parâmetro
callback
tem esta aparência:(result?: any[]) => void
-
resultado
any[] opcional
O resultado do script em cada frame injetado
-
Retorna
-
Promise<any[] | indefinido>
Chrome 88 ou superiorO Manifesto V3 e versões mais recentes oferecem suporte a promessas, mas callbacks são fornecidos para a compatibilidade com versões anteriores. Não é possível usar ambos na mesma chamada de função. A promessa é resolvida com o mesmo tipo passado ao retorno de chamada.
get()
chrome.tabs.get(
tabId: number,
callback?: function,
)
Recupera detalhes sobre a guia especificada.
Parâmetros
-
tabId
number
-
callback
função opcional
O parâmetro
callback
tem esta aparência:(tab: Tab) => void
-
tab
-
Retorna
-
Promessa<Tab>
Chrome 88 ou superiorO Manifesto V3 e versões mais recentes oferecem suporte a promessas, mas callbacks são fornecidos para a compatibilidade com versões anteriores. Não é possível usar ambos na mesma chamada de função. A promessa é resolvida com o mesmo tipo passado ao retorno de chamada.
getAllInWindow()
chrome.tabs.getAllInWindow(
windowId?: number,
callback?: function,
)
Use tabs.query
{windowId: windowId}
.
Recebe detalhes sobre todas as guias na janela especificada.
Parâmetros
-
windowId
número opcional
O padrão é a janela atual.
-
callback
função opcional
O parâmetro
callback
tem esta aparência:(tabs: Tab[]) => void
-
guias
Guia[]
-
Retorna
-
Promessa<Tab[]>
Chrome 88 ou superiorO Manifesto V3 e versões mais recentes oferecem suporte a promessas, mas callbacks são fornecidos para a compatibilidade com versões anteriores. Não é possível usar ambos na mesma chamada de função. A promessa é resolvida com o mesmo tipo passado ao retorno de chamada.
getCurrent()
chrome.tabs.getCurrent(
callback?: function,
)
Recebe a guia a partir da qual esta chamada de script está sendo feita. Retorna undefined
se chamado de um contexto que não seja de guia (por exemplo, uma página de plano de fundo ou visualização pop-up).
Parâmetros
Retorna
-
Promessa<Tab | indefinido>
Chrome 88 ou superiorO Manifesto V3 e versões mais recentes oferecem suporte a promessas, mas callbacks são fornecidos para a compatibilidade com versões anteriores. Não é possível usar ambos na mesma chamada de função. A promessa é resolvida com o mesmo tipo passado ao retorno de chamada.
getSelected()
chrome.tabs.getSelected(
windowId?: number,
callback?: function,
)
Use tabs.query
{active: true}
.
Acessa a guia selecionada na janela especificada.
Parâmetros
-
windowId
número opcional
O padrão é a janela atual.
-
callback
função opcional
O parâmetro
callback
tem esta aparência:(tab: Tab) => void
-
tab
-
Retorna
-
Promessa<Tab>
Chrome 88 ou superiorO Manifesto V3 e versões mais recentes oferecem suporte a promessas, mas callbacks são fornecidos para a compatibilidade com versões anteriores. Não é possível usar ambos na mesma chamada de função. A promessa é resolvida com o mesmo tipo passado ao retorno de chamada.
getZoom()
chrome.tabs.getZoom(
tabId?: number,
callback?: function,
)
Gera o fator de zoom atual de uma guia especificada.
Parâmetros
-
tabId
número opcional
O ID da guia do qual obter o fator de zoom atual. o padrão é a guia ativa da janela atual.
-
callback
função opcional
O parâmetro
callback
tem esta aparência:(zoomFactor: number) => void
-
zoomFactor
number
O fator de zoom atual da guia.
-
Retorna
-
Promise<number>
Chrome 88 ou superiorO Manifesto V3 e versões mais recentes oferecem suporte a promessas, mas callbacks são fornecidos para a compatibilidade com versões anteriores. Não é possível usar ambos na mesma chamada de função. A promessa é resolvida com o mesmo tipo passado ao retorno de chamada.
getZoomSettings()
chrome.tabs.getZoomSettings(
tabId?: number,
callback?: function,
)
Recebe as configurações de zoom atuais de uma guia especificada.
Parâmetros
-
tabId
número opcional
O ID da guia da qual obter as configurações de zoom atuais. o padrão é a guia ativa da janela atual.
-
callback
função opcional
O parâmetro
callback
tem esta aparência:(zoomSettings: ZoomSettings) => void
-
zoomSettings
As configurações de zoom atuais da guia.
-
Retorna
-
Promise<ZoomSettings>
Chrome 88 ou superiorO Manifesto V3 e versões mais recentes oferecem suporte a promessas, mas callbacks são fornecidos para a compatibilidade com versões anteriores. Não é possível usar ambos na mesma chamada de função. A promessa é resolvida com o mesmo tipo passado ao retorno de chamada.
goBack()
chrome.tabs.goBack(
tabId?: number,
callback?: function,
)
Volte para a página anterior, se houver uma disponível.
Parâmetros
-
tabId
número opcional
O ID da guia para navegar de volta. o padrão é a guia selecionada da janela atual.
-
callback
função opcional
O parâmetro
callback
tem esta aparência:() => void
Retorna
-
Promessa<void>
Chrome 88 ou superiorO Manifesto V3 e versões mais recentes oferecem suporte a promessas, mas callbacks são fornecidos para a compatibilidade com versões anteriores. Não é possível usar ambos na mesma chamada de função. A promessa é resolvida com o mesmo tipo passado ao retorno de chamada.
goForward()
chrome.tabs.goForward(
tabId?: number,
callback?: function,
)
Avançar para a próxima página, se houver uma disponível.
Parâmetros
-
tabId
número opcional
O ID da guia para navegar adiante. o padrão é a guia selecionada da janela atual.
-
callback
função opcional
O parâmetro
callback
tem esta aparência:() => void
Retorna
-
Promessa<void>
Chrome 88 ou superiorO Manifesto V3 e versões mais recentes oferecem suporte a promessas, mas callbacks são fornecidos para a compatibilidade com versões anteriores. Não é possível usar ambos na mesma chamada de função. A promessa é resolvida com o mesmo tipo passado ao retorno de chamada.
group()
chrome.tabs.group(
options: object,
callback?: function,
)
Adiciona uma ou mais guias a um grupo especificado ou, se nenhum grupo for especificado, adiciona as guias especificadas a um grupo recém-criado.
Parâmetros
-
opções
objeto
-
createProperties
objeto opcional
Configurações para criar um grupo. Não pode ser usado se groupId já estiver especificado.
-
windowId
número opcional
A janela do novo grupo. O padrão é a janela atual.
-
-
groupId
número opcional
O ID do grupo ao qual as guias serão adicionadas. Se não for especificado, um novo grupo será criado.
-
tabIds
número | [número, ...número[]]
O ID ou a lista de IDs da guia a ser adicionada ao grupo especificado.
-
-
callback
função opcional
O parâmetro
callback
tem esta aparência:(groupId: number) => void
-
groupId
number
O ID do grupo ao qual as guias foram adicionadas.
-
Retorna
-
Promise<number>
O Manifesto V3 e versões mais recentes oferecem suporte a promessas, mas callbacks são fornecidos para a compatibilidade com versões anteriores. Não é possível usar ambos na mesma chamada de função. A promessa é resolvida com o mesmo tipo passado ao retorno de chamada.
highlight()
chrome.tabs.highlight(
highlightInfo: object,
callback?: function,
)
Destaca as guias fornecidas e foca na primeira do grupo. Se a guia especificada estiver ativa no momento, ela não fará nada.
Parâmetros
-
highlightInfo
objeto
-
guias
número | número[]
Um ou mais índices de guias para destacar.
-
windowId
número opcional
A janela que contém as guias.
-
-
callback
função opcional
O parâmetro
callback
tem esta aparência:(window: Window) => void
-
janela
Contém detalhes sobre a janela cujas guias foram destacadas.
-
Retorna
-
Promise<windows.Window>
Chrome 88 ou superiorO Manifesto V3 e versões mais recentes oferecem suporte a promessas, mas callbacks são fornecidos para a compatibilidade com versões anteriores. Não é possível usar ambos na mesma chamada de função. A promessa é resolvida com o mesmo tipo passado ao retorno de chamada.
insertCSS()
chrome.tabs.insertCSS(
tabId?: number,
details: InjectDetails,
callback?: function,
)
Substituído por scripting.insertCSS
no Manifesto 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 no documento de scripts de conteúdo.
Parâmetros
-
tabId
número opcional
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 o código ou a propriedade do arquivo, mas não é possível definir ambos ao mesmo tempo.
-
callback
função opcional
O parâmetro
callback
tem esta aparência:() => void
Retorna
-
Promessa<void>
Chrome 88 ou superiorO Manifesto V3 e versões mais recentes oferecem suporte a promessas, mas callbacks são fornecidos para a compatibilidade com versões anteriores. Não é possível usar ambos na mesma chamada de função. A promessa é resolvida com o mesmo tipo passado ao retorno de chamada.
move()
chrome.tabs.move(
tabIds: number | number[],
moveProperties: object,
callback?: function,
)
Move uma ou mais guias para uma nova posição na janela ou para uma nova janela. Observe que as guias só podem ser movidas de e para janelas normais (window.type === "normal").
Parâmetros
-
tabIds
número | número[]
O ID ou a lista de IDs da guia a ser movida.
-
moveProperties
objeto
-
index
number
A posição para onde a janela será movida. Use
-1
para colocar a guia no fim da janela. -
windowId
número opcional
O padrão é a janela em que a guia está no momento.
-
-
callback
função opcional
O parâmetro
callback
tem esta aparência:(tabs: Tab | Tab[]) => void
Retorna
-
Chrome 88 ou superior
O Manifesto V3 e versões mais recentes oferecem suporte a promessas, mas callbacks são fornecidos para a compatibilidade com versões anteriores. Não é possível usar ambos na mesma chamada de função. A promessa é resolvida com o mesmo tipo passado ao retorno de chamada.
query()
chrome.tabs.query(
queryInfo: object,
callback?: function,
)
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
Indica se as guias estão ativas nas janelas.
-
Audible
booleano opcional
Chrome 45 ou superiorIndica se as guias são audíveis.
-
autoDiscardable
booleano opcional
Chrome 54 ou superiorIndica se 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 superiorIndica se as guias serã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 será recarregado na próxima vez que for ativado.
-
groupId
número opcional
Chrome 88 ou superiorO ID do grupo em que as guias estão ou
tabGroups.TAB_GROUP_ID_NONE
para guias não agrupadas. -
em destaque
booleano opcional
Indica se as guias estão destacadas.
-
index
número opcional
A posição das guias dentro das janelas.
-
lastFocusedWindow
booleano opcional
Se as guias estão na última janela em foco.
-
silenciado
booleano opcional
Chrome 45 ou superiorIndica se as guias estão silenciadas.
-
pixado
booleano opcional
Se as guias estão fixadas.
-
status
TabStatus opcional
O status de carregamento da guia.
-
título
string opcional
Faça a correspondência entre os títulos das páginas e um padrão. Essa propriedade será ignorada se a extensão não tiver a permissão
"tabs"
. -
url
string | string[] opcional
Associe as guias a um ou mais padrões de URL. Não há correspondência de identificadores de fragmento. Essa propriedade será ignorada se a extensão não tiver a permissão
"tabs"
. -
windowId
número opcional
O ID da janela mãe ou
windows.WINDOW_ID_CURRENT
da janela atual. -
windowType
WindowType opcional
O tipo de janela em que as guias estão.
-
-
callback
função opcional
O parâmetro
callback
tem esta aparência:(result: Tab[]) => void
-
resultado
Guia[]
-
Retorna
-
Promessa<Tab[]>
Chrome 88 ou superiorO Manifesto V3 e versões mais recentes oferecem suporte a promessas, mas callbacks são fornecidos para a compatibilidade com versões anteriores. Não é possível usar ambos na mesma chamada de função. A promessa é resolvida com o mesmo tipo passado ao retorno de chamada.
reload()
chrome.tabs.reload(
tabId?: number,
reloadProperties?: object,
callback?: function,
)
Atualize uma guia.
Parâmetros
-
tabId
número opcional
O ID da guia a ser atualizada. o padrão é a guia selecionada da janela atual.
-
reloadProperties
objeto opcional
-
bypassCache
booleano opcional
Define se o armazenamento em cache local será ignorado. O valor padrão é
false
.
-
-
callback
função opcional
O parâmetro
callback
tem esta aparência:() => void
Retorna
-
Promessa<void>
Chrome 88 ou superiorO Manifesto V3 e versões mais recentes oferecem suporte a promessas, mas callbacks são fornecidos para a compatibilidade com versões anteriores. Não é possível usar ambos na mesma chamada de função. A promessa é resolvida com o mesmo tipo passado ao retorno de chamada.
remove()
chrome.tabs.remove(
tabIds: number | number[],
callback?: function,
)
Fecha uma ou mais guias.
Parâmetros
-
tabIds
número | número[]
O ID da guia ou a lista de IDs da guia a ser fechada.
-
callback
função opcional
O parâmetro
callback
tem esta aparência:() => void
Retorna
-
Promessa<void>
Chrome 88 ou superiorO Manifesto V3 e versões mais recentes oferecem suporte a promessas, mas callbacks são fornecidos para a compatibilidade com versões anteriores. Não é possível usar ambos na mesma chamada de função. A promessa é resolvida com o mesmo tipo passado ao retorno de chamada.
removeCSS()
chrome.tabs.removeCSS(
tabId?: number,
details: DeleteInjectionDetails,
callback?: function,
)
Substituído por scripting.removeCSS
no Manifesto V3.
Remove de um CSS de página que foi injetado anteriormente por uma chamada para scripting.insertCSS
.
Parâmetros
-
tabId
número opcional
O ID da guia da qual remover o CSS. o padrão é a guia ativa da janela atual.
-
detalhes
Detalhes do texto CSS a ser removido. É necessário definir o código ou a propriedade do arquivo, mas não é possível definir ambos ao mesmo tempo.
-
callback
função opcional
O parâmetro
callback
tem esta aparência:() => void
Retorna
-
Promessa<void>
Chrome 88 ou superiorO Manifesto V3 e versões mais recentes oferecem suporte a promessas, mas callbacks são fornecidos para a compatibilidade com versões anteriores. Não é possível usar ambos na mesma chamada de função. A promessa é resolvida com o mesmo tipo passado ao retorno de chamada.
sendMessage()
chrome.tabs.sendMessage(
tabId: number,
message: any,
options?: object,
callback?: function,
)
Envia uma única mensagem aos scripts de conteúdo na guia especificada, com um callback opcional a ser executado quando uma resposta for 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
-
tabId
number
-
mensagem
qualquer um
A mensagem a ser enviada. Essa mensagem deve ser um objeto separável em JSON.
-
opções
objeto opcional
-
documentId
string opcional
Chrome 106 ou versões mais recentesEnvie uma mensagem para um documento específico identificado por
documentId
, em vez de todos os frames da guia. -
frameId
número opcional
Envia uma mensagem para um frame específico identificado por
frameId
, em vez de todos os frames da guia.
-
-
callback
função opcional
Chrome 99 ou versão mais recenteO parâmetro
callback
tem esta aparência:(response: any) => void
-
resposta
qualquer um
O objeto de resposta JSON enviado pelo gerenciador da mensagem. Se ocorrer um erro ao se conectar à guia especificada, o callback será chamado sem argumentos, e
runtime.lastError
será definido como a mensagem de erro.
-
Retorna
-
Promessa<qualquer>
Chrome 99 ou versão mais recenteO Manifesto V3 e versões mais recentes oferecem suporte a promessas, mas callbacks são fornecidos para a compatibilidade com versões anteriores. Não é possível usar ambos na mesma chamada de função. A promessa é resolvida com o mesmo tipo passado ao retorno de chamada.
sendRequest()
chrome.tabs.sendRequest(
tabId: number,
request: any,
callback?: function,
)
Use runtime.sendMessage
.
Envia uma única solicitação aos scripts de conteúdo na guia especificada, com um callback opcional a 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
number
-
solicitação
qualquer um
-
callback
função opcional
Chrome 99 ou versão mais recenteO parâmetro
callback
tem esta aparência:(response: any) => void
-
resposta
qualquer um
O objeto de resposta JSON enviado pelo gerenciador da solicitação. Se ocorrer um erro ao se conectar à guia especificada, o callback será chamado sem argumentos, e
runtime.lastError
será definido como a mensagem de erro.
-
Retorna
-
Promessa<qualquer>
Chrome 99 ou versão mais recenteO Manifesto V3 e versões mais recentes oferecem suporte a promessas, mas callbacks são fornecidos para a compatibilidade com versões anteriores. Não é possível usar ambos na mesma chamada de função. A promessa é resolvida com o mesmo tipo passado ao retorno de chamada.
setZoom()
chrome.tabs.setZoom(
tabId?: number,
zoomFactor: number,
callback?: function,
)
Aumenta o zoom de uma guia especificada.
Parâmetros
-
tabId
número opcional
O ID da guia a ser ampliada. o padrão é a guia ativa da janela atual.
-
zoomFactor
number
O novo fator de zoom. Um valor de
0
define a guia com o fator de zoom padrão atual. Valores maiores que0
especificam um fator de zoom (possivelmente não padrão) para a guia. -
callback
função opcional
O parâmetro
callback
tem esta aparência:() => void
Retorna
-
Promessa<void>
Chrome 88 ou superiorO Manifesto V3 e versões mais recentes oferecem suporte a promessas, mas callbacks são fornecidos para a compatibilidade com versões anteriores. Não é possível usar ambos na mesma chamada de função. A promessa é resolvida com o mesmo tipo passado ao retorno de chamada.
setZoomSettings()
chrome.tabs.setZoomSettings(
tabId?: number,
zoomSettings: ZoomSettings,
callback?: function,
)
Define as configurações de zoom para uma guia especificada, que define como as mudanças de zoom são tratadas. Essas configurações são redefinidas para os padrões quando você navega pela guia.
Parâmetros
-
tabId
número opcional
O ID da guia cujas configurações de zoom serão alteradas. o padrão é a guia ativa da janela atual.
-
zoomSettings
Define como as mudanças de zoom são tratadas e em qual escopo.
-
callback
função opcional
O parâmetro
callback
tem esta aparência:() => void
Retorna
-
Promessa<void>
Chrome 88 ou superiorO Manifesto V3 e versões mais recentes oferecem suporte a promessas, mas callbacks são fornecidos para a compatibilidade com versões anteriores. Não é possível usar ambos na mesma chamada de função. A promessa é resolvida com o mesmo tipo passado ao retorno de chamada.
ungroup()
chrome.tabs.ungroup(
tabIds: number | [number, ...number[]],
callback?: function,
)
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 da guia ou a lista de IDs da guia a ser removida dos respectivos grupos.
-
callback
função opcional
O parâmetro
callback
tem esta aparência:() => void
Retorna
-
Promessa<void>
O Manifesto V3 e versões mais recentes oferecem suporte a promessas, mas callbacks são fornecidos para a compatibilidade com versões anteriores. Não é possível usar ambos na mesma chamada de função. A promessa é resolvida com o mesmo tipo passado ao retorno de chamada.
update()
chrome.tabs.update(
tabId?: number,
updateProperties: object,
callback?: function,
)
Modifica as propriedades de uma guia. As propriedades não especificadas em updateProperties
não são modificadas.
Parâmetros
-
tabId
número opcional
O padrão é a guia selecionada da janela atual.
-
updateProperties
objeto
-
ativo
booleano opcional
Indica se a guia deve estar ativa. Isso não afeta o foco da janela (consulte
windows.update
). -
autoDiscardable
booleano opcional
Chrome 54 ou superiorDefine se a guia deve ser descartada automaticamente pelo navegador quando os recursos estiverem baixos.
-
em destaque
booleano opcional
Adiciona ou remove a guia da seleção atual.
-
silenciado
booleano opcional
Chrome 45 ou superiorIndica se a guia deve ser silenciada.
-
openerTabId
número opcional
O ID da guia que a abriu. Se especificada, a guia de abertura precisa estar na mesma janela que essa guia.
-
pixado
booleano opcional
Indica se a guia deve ser fixada.
-
selecionado
booleano opcional
DescontinuadoUse o campo destacado.
Indica se a guia deve ser selecionada.
-
url
string opcional
Um URL para acessar a guia. URLs JavaScript não são compatíveis. use
scripting.executeScript
.
-
-
callback
função opcional
O parâmetro
callback
tem esta aparência:(tab?: Tab) => void
Retorna
-
Promessa<Tab | indefinido>
Chrome 88 ou superiorO Manifesto V3 e versões mais recentes oferecem suporte a promessas, mas callbacks são fornecidos para a compatibilidade com versões anteriores. Não é possível usar ambos na mesma chamada de função. A promessa é resolvida com o mesmo tipo passado ao retorno de chamada.
Eventos
onActivated
chrome.tabs.onActivated.addListener(
callback: function,
)
Dispara quando a guia ativa em uma janela é alterada. O URL da guia pode não estar definido no momento em que esse evento é disparado, 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
tem esta aparência:(activeInfo: object) => void
-
activeInfo
objeto
-
tabId
number
O ID da guia que se tornou ativa.
-
windowId
number
ID da janela em que a guia ativa foi alterada.
-
-
onActiveChanged
chrome.tabs.onActiveChanged.addListener(
callback: function,
)
Use tabs.onActivated
.
Dispara quando a guia selecionada em uma janela é alterada. O URL da guia pode não estar definido no momento em que esse evento é disparado, 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
tem esta aparência:(tabId: number, selectInfo: object) => void
-
tabId
number
-
selectInfo
objeto
-
windowId
number
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 ela foi movida entre janelas.
Parâmetros
-
callback
função
O parâmetro
callback
tem esta aparência:(tabId: number, attachInfo: object) => void
-
tabId
number
-
attachInfo
objeto
-
newPosition
number
-
newWindowId
number
-
-
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 no momento em que este evento é disparado, mas você pode detectar eventos onUpdated para ser notificado quando um URL é definido ou a guia é adicionada a um grupo de guias.
onDetached
chrome.tabs.onDetached.addListener(
callback: function,
)
Disparado quando uma guia é removida de uma janela. por exemplo, porque ela foi movida entre janelas.
Parâmetros
-
callback
função
O parâmetro
callback
tem esta aparência:(tabId: number, detachInfo: object) => void
-
tabId
number
-
detachInfo
objeto
-
oldPosition
number
-
oldWindowId
number
-
-
onHighlightChanged
chrome.tabs.onHighlightChanged.addListener(
callback: function,
)
Use tabs.onHighlighted
.
Disparado quando as guias destacadas ou selecionadas em uma janela são alteradas.
Parâmetros
-
callback
função
O parâmetro
callback
tem esta aparência:(selectInfo: object) => void
-
selectInfo
objeto
-
tabIds
número[]
Todas as guias destacadas na janela.
-
windowId
number
Janela cujas guias foram alteradas.
-
-
onHighlighted
chrome.tabs.onHighlighted.addListener(
callback: function,
)
Disparado quando as guias destacadas ou selecionadas em uma janela são alteradas.
Parâmetros
-
callback
função
O parâmetro
callback
tem esta aparência:(highlightInfo: object) => void
-
highlightInfo
objeto
-
tabIds
número[]
Todas as guias destacadas na janela.
-
windowId
number
Janela cujas guias foram alteradas.
-
-
onMoved
chrome.tabs.onMoved.addListener(
callback: function,
)
Disparado quando uma guia é movida dentro de uma janela. Somente um evento de movimento é acionado, representando a guia que o usuário moveu diretamente. Os eventos de movimentação não são disparados para as outras guias que devem ser movidas em resposta à guia movida manualmente. Este evento não é acionado quando uma guia é movida entre janelas. para mais detalhes, consulte tabs.onDetached
.
Parâmetros
-
callback
função
O parâmetro
callback
tem esta aparência:(tabId: number, moveInfo: object) => void
-
tabId
number
-
moveInfo
objeto
-
fromIndex
number
-
toIndex
number
-
windowId
number
-
-
onRemoved
chrome.tabs.onRemoved.addListener(
callback: function,
)
Disparado quando uma guia é fechada.
Parâmetros
-
callback
função
O parâmetro
callback
tem esta aparência:(tabId: number, removeInfo: object) => void
-
tabId
number
-
removeInfo
objeto
-
isWindowClosing
booleano
Verdadeiro quando a guia foi fechada porque a janela principal foi fechada.
-
windowId
number
A janela cuja guia está fechada.
-
-
onReplaced
chrome.tabs.onReplaced.addListener(
callback: function,
)
Disparado quando uma guia é substituída por outra devido à pré-renderização ou instantâneo.
Parâmetros
-
callback
função
O parâmetro
callback
tem esta aparência:(addedTabId: number, removedTabId: number) => void
-
addedTabId
number
-
removedTabId
number
-
onSelectionChanged
chrome.tabs.onSelectionChanged.addListener(
callback: function,
)
Use tabs.onActivated
.
Dispara quando a guia selecionada em uma janela é alterada.
Parâmetros
-
callback
função
O parâmetro
callback
tem esta aparência:(tabId: number, selectInfo: object) => void
-
tabId
number
-
selectInfo
objeto
-
windowId
number
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
tem esta aparência:(tabId: number, changeInfo: object, tab: Tab) => void
-
tabId
number
-
changeInfo
objeto
-
Audible
booleano opcional
Chrome 45 ou superiorO novo estado audível da guia.
-
autoDiscardable
booleano opcional
Chrome 54 ou superiorO novo estado descartável automaticamente da guia.
-
descartou
booleano opcional
Chrome 54 ou superiorO novo estado descartado da guia.
-
favIconUrl
string opcional
O novo URL do favicon da guia.
-
groupId
número opcional
Chrome 88 ou superiorO novo grupo da guia.
-
mutedInfo
MutedInfo opcional
Chrome 46 ou superiorO novo estado ignorado da guia e o motivo da alteração.
-
pixado
booleano opcional
O novo estado fixado da guia.
-
status
TabStatus opcional
O status de carregamento da guia.
-
título
string opcional
Chrome 48 ou superiorO novo título da guia.
-
url
string opcional
O URL da guia, se tiver sido alterado.
-
-
tab
-
onZoomChange
chrome.tabs.onZoomChange.addListener(
callback: function,
)
Disparado quando uma guia é ampliada.
Parâmetros
-
callback
função
O parâmetro
callback
tem esta aparência:(ZoomChangeInfo: object) => void
-
ZoomChangeInfo
objeto
-
newZoomFactor
number
-
oldZoomFactor
number
-
tabId
number
-
zoomSettings
-
-