Descrição
Use a API chrome.windows
para interagir com as janelas do navegador. Você pode usar essa API para criar, modificar e reorganizar janelas no navegador.
Manifesto
Quando solicitado, um windows.Window
contém uma matriz de objetos tabs.Tab
. Você deve
Declare a permissão "tabs"
no manifesto se você precisar de acesso ao url
.
pendingUrl
, title
ou favIconUrl
propriedades de tabs.Tab
. Exemplo:
{
"name": "My extension",
...
"permissions": ["tabs"],
...
}
A janela atual
Muitas funções no sistema de extensões usam um argumento windowId
opcional, que tem como padrão o
janela atual.
A janela atual é aquela que contém o código em execução. Está é importante perceber que ela pode ser diferente da janela superior ou em foco.
Por exemplo, digamos que uma extensão crie algumas guias ou janelas a partir de um único arquivo HTML e que a
O arquivo HTML contém uma chamada para tabs.query()
. A janela atual é a janela que contém o
página que fez a chamada, não importa qual seja a janela superior.
No caso de service workers, o valor da janela atual volta para o último elemento ativo. janela. Em algumas circunstâncias, pode não haver uma janela atual para páginas de fundo.
Exemplos
Para testar essa API, instale o exemplo da API para Windows em chrome-extension-samples repositório de dados.
Tipos
CreateType
Especifica o tipo de janela do navegador a ser criado. "painel" foi descontinuado e está disponível apenas para extensões da lista de permissões atuais no Chrome OS.
Enumeração
"normal"
Especifica a janela como uma janela padrão.
"popup"
Especifica a janela como uma janela pop-up.
"panel"
Especifica a janela como um painel.
QueryOptions
Propriedades
-
populate
booleano opcional
Se verdadeiro, o objeto
windows.Window
tem uma propriedadetabs
que contém uma lista dos objetostabs.Tab
. Os objetosTab
só terão as propriedadesurl
,pendingUrl
,title
efavIconUrl
se o arquivo de manifesto da extensão incluir a permissão"tabs"
. -
windowTypes
WindowType[] opcional
Se definido, o
windows.Window
retornado será filtrado com base no tipo. Se não for definido, o filtro padrão será definido como['normal', 'popup']
.
Window
Propriedades
-
alwaysOnTop
booleano
Indica se a janela está definida para estar sempre na parte superior.
-
foco
booleano
Se a janela é atualmente a janela em foco.
-
altura
número opcional
A altura da janela, incluindo o frame, em pixels. Em algumas circunstâncias, uma janela pode não receber uma propriedade
height
. por exemplo, ao consultar janelas fechadas na APIsessions
. -
id
número opcional
O ID da janela. Os IDs de janela são exclusivos em uma sessão do navegador. Em algumas circunstâncias, uma janela pode não receber uma propriedade
ID
. por exemplo, ao consultar janelas usando a APIsessions
, caso em que um ID de sessão pode estar presente. -
navegação anônima
booleano
Se a janela é anônima.
-
esquerda
número opcional
O deslocamento da janela da borda esquerda da tela em pixels. Em algumas circunstâncias, uma janela pode não receber uma propriedade
left
. por exemplo, ao consultar janelas fechadas na APIsessions
. -
sessionId
string opcional
O ID da sessão usado para identificar exclusivamente uma janela, extraído da API
sessions
. -
estado
WindowState opcional
O estado da janela do navegador.
-
guias
Tab[] opcional
Matriz de objetos
tabs.Tab
que representam as guias atuais na janela. -
superior
número opcional
O deslocamento da janela a partir da borda superior da tela em pixels. Em algumas circunstâncias, uma janela pode não receber uma propriedade
top
. por exemplo, ao consultar janelas fechadas na APIsessions
. -
tipo
WindowType opcional
O tipo de janela do navegador.
-
largura
número opcional
A largura da janela, incluindo o frame, em pixels. Em algumas circunstâncias, uma janela pode não receber uma propriedade
width
. por exemplo, ao consultar janelas fechadas na APIsessions
.
WindowState
O estado da janela do navegador. Em algumas circunstâncias, uma janela pode não receber uma propriedade state
. por exemplo, ao consultar janelas fechadas na API sessions
.
Enumeração
"normal"
Estado de janela normal (não minimizado, maximizado ou tela cheia).
"minimized"
Estado da janela minimizado.
"maximized"
Estado da janela maximizado.
"fullscreen"
Estado da janela em tela cheia.
"tela cheia bloqueada"
Estado da janela em tela cheia bloqueada. O usuário não pode sair desse estado de tela cheia. Ele está disponível apenas para extensões da lista de permissões no ChromeOS.
WindowType
O tipo de janela do navegador. Em algumas circunstâncias, uma janela pode não receber uma propriedade type
. por exemplo, ao consultar janelas fechadas na API sessions
.
Enumeração
"normal"
Uma janela normal do navegador.
"popup"
Um pop-up do navegador.
"panel"
Descontinuado nesta API. Uma janela no estilo de painel do app do Chrome. As extensões só têm acesso às próprias janelas de painel.
"app"
Descontinuado nesta API. Uma janela do app do Chrome. As extensões só têm acesso às próprias janelas dos apps.
" DevTools"
Uma janela das Ferramentas para desenvolvedores.
Propriedades
WINDOW_ID_CURRENT
O valor de windowId que representa a janela atual.
Valor
Menos de 2
WINDOW_ID_NONE
O valor de windowId que representa a ausência de uma janela do navegador Chrome.
Valor
Menos de 1
Métodos
create()
chrome.windows.create(
createData?: object,
callback?: function,
)
Cria (abre) uma nova janela do navegador com qualquer dimensionamento, posição ou URL padrão opcional.
Parâmetros
-
createData
objeto opcional
-
foco
booleano opcional
Se
true
, abre uma janela ativa. Sefalse
, abre uma janela inativa. -
altura
número opcional
A altura em pixels da nova janela, incluindo o frame. Se não for especificado, o padrão será uma altura natural.
-
navegação anônima
booleano opcional
Se a nova janela deve ser uma janela anônima.
-
esquerda
número opcional
O número de pixels para posicionar a nova janela a partir da borda esquerda da tela. Se não for especificada, a nova janela será deslocada naturalmente da última janela em foco. Esse valor é ignorado nos painéis.
-
setSelfAsOpener
booleano opcional
Chrome 64 ou superiorSe
true
, o "window.opener" da janela recém-criada seja definido para o autor da chamada e esteja na mesma unidade de contextos de navegação relacionados que ele. -
estado
WindowState opcional
Chrome 44 ou superiorO estado inicial da janela. Os estados
minimized
,maximized
efullscreen
não podem ser combinados comleft
,top
,width
ouheight
. -
tabId
número opcional
O ID da guia a ser adicionada à nova janela.
-
superior
número opcional
O número de pixels para posicionar a nova janela a partir da borda superior da tela. Se não for especificada, a nova janela será deslocada naturalmente da última janela em foco. Esse valor é ignorado nos painéis.
-
tipo
CreateType opcional
Especifica o tipo de janela do navegador que será criado.
-
url
string | string[] opcional
Um URL ou matriz de URLs que serão abertos como guias na janela. Os URLs totalmente qualificados precisam incluir um esquema, por exemplo, "http://www.google.com.br", não "www.google.com.br". URLs não totalmente qualificados são considerados relativos dentro da extensão. O padrão é a página "Nova guia".
-
largura
número opcional
A largura em pixels da nova janela, incluindo o frame. Se não for especificado, o padrão será uma largura natural.
-
-
callback
função opcional
O parâmetro
callback
tem esta aparência:(window?: Window) => void
-
janela
Janela opcional
Contém detalhes sobre a janela criada.
-
Retorna
-
Promise<Window | indefinido>
Chrome 88 ou superiorAs promessas só têm suporte no Manifesto V3 e versões mais recentes. Outras plataformas precisam usar callbacks.
get()
chrome.windows.get(
windowId: number,
queryOptions?: QueryOptions,
callback?: function,
)
Extrai detalhes sobre uma janela.
Parâmetros
-
windowId
number
-
queryOptions
QueryOptions opcional
Chrome 88 ou superior -
callback
função opcional
O parâmetro
callback
tem esta aparência:(window: Window) => void
-
janela
-
Retorna
-
Promise<Window>
Chrome 88 ou superiorAs promessas só têm suporte no Manifesto V3 e versões mais recentes. Outras plataformas precisam usar callbacks.
getAll()
chrome.windows.getAll(
queryOptions?: QueryOptions,
callback?: function,
)
Recebe todas as janelas.
Parâmetros
-
queryOptions
QueryOptions opcional
Chrome 88 ou superior -
callback
função opcional
O parâmetro
callback
tem esta aparência:(windows: Window[]) => void
-
windows
Janela[]
-
Retorna
-
Promise<Window[]>
Chrome 88 ou superiorAs promessas só têm suporte no Manifesto V3 e versões mais recentes. Outras plataformas precisam usar callbacks.
getCurrent()
chrome.windows.getCurrent(
queryOptions?: QueryOptions,
callback?: function,
)
Recebe a janela atual.
Parâmetros
-
queryOptions
QueryOptions opcional
Chrome 88 ou superior -
callback
função opcional
O parâmetro
callback
tem esta aparência:(window: Window) => void
-
janela
-
Retorna
-
Promise<Window>
Chrome 88 ou superiorAs promessas só têm suporte no Manifesto V3 e versões mais recentes. Outras plataformas precisam usar callbacks.
getLastFocused()
chrome.windows.getLastFocused(
queryOptions?: QueryOptions,
callback?: function,
)
Acessa a janela que foi focada mais recentemente — normalmente a janela "em cima".
Parâmetros
-
queryOptions
QueryOptions opcional
Chrome 88 ou superior -
callback
função opcional
O parâmetro
callback
tem esta aparência:(window: Window) => void
-
janela
-
Retorna
-
Promise<Window>
Chrome 88 ou superiorAs promessas só têm suporte no Manifesto V3 e versões mais recentes. Outras plataformas precisam usar callbacks.
remove()
chrome.windows.remove(
windowId: number,
callback?: function,
)
Remove (fecha) uma janela e todas as guias dentro dela.
Parâmetros
-
windowId
number
-
callback
função opcional
O parâmetro
callback
tem esta aparência:() => void
Retorna
-
Promessa<void>
Chrome 88 ou superiorAs promessas só têm suporte no Manifesto V3 e versões mais recentes. Outras plataformas precisam usar callbacks.
update()
chrome.windows.update(
windowId: number,
updateInfo: object,
callback?: function,
)
Atualiza as propriedades de uma janela. Especifique apenas as propriedades que serão alteradas. propriedades não especificadas permanecem inalteradas.
Parâmetros
-
windowId
number
-
updateInfo
objeto
-
drawAttention
booleano opcional
Se
true
, faz com que a janela seja mostrada de uma forma que chame a atenção do usuário para a janela, sem mudar a janela em foco. O efeito dura até que o usuário mude o foco para a janela. Essa opção não terá efeito se a janela já estiver em foco. Defina comofalse
para cancelar uma solicitação dedrawAttention
anterior. -
foco
booleano opcional
Se
true
, traz a janela para a frente. não pode ser combinado com o estado "minimizado". Sefalse
, traz a próxima janela na ordem z para a frente. não pode ser combinado com o estado "tela cheia" ou "maximizado". -
altura
número opcional
A altura para redimensionar a janela em pixels. Esse valor é ignorado nos painéis.
-
esquerda
número opcional
O deslocamento da borda esquerda da tela para mover a janela em pixels. Esse valor é ignorado nos painéis.
-
estado
WindowState opcional
O novo estado da janela. As opções "minimizado", "maximizado" e "tela cheia" não podem ser combinados com "left", "top", "width" ou "height".
-
superior
número opcional
O deslocamento da borda superior da tela para mover a janela em pixels. Esse valor é ignorado nos painéis.
-
largura
número opcional
A largura para redimensionar a janela em pixels. Esse valor é ignorado nos painéis.
-
-
callback
função opcional
O parâmetro
callback
tem esta aparência:(window: Window) => void
-
janela
-
Retorna
-
Promise<Window>
Chrome 88 ou superiorAs promessas só têm suporte no Manifesto V3 e versões mais recentes. Outras plataformas precisam usar callbacks.
Eventos
onBoundsChanged
chrome.windows.onBoundsChanged.addListener(
callback: function,
)
Disparado quando uma janela é redimensionada. este evento só é enviado quando os novos limites são confirmados, e não para alterações em andamento.
Parâmetros
-
callback
função
O parâmetro
callback
tem esta aparência:(window: Window) => void
-
janela
-
onCreated
chrome.windows.onCreated.addListener(
callback: function,
filters?: object,
)
Disparado quando uma janela é criada.
Parâmetros
-
callback
função
Chrome 46 ou superiorO parâmetro
callback
tem esta aparência:(window: Window) => void
-
janela
Detalhes da janela criada.
-
-
filtros
objeto opcional
-
windowTypes
Condições a que o tipo de janela que está sendo criado precisa atender. Por padrão, ela satisfaz
['normal', 'popup']
.
-
onFocusChanged
chrome.windows.onFocusChanged.addListener(
callback: function,
filters?: object,
)
Disparado quando a janela em foco é alterada. Retorna chrome.windows.WINDOW_ID_NONE
se todas as janelas do Chrome perderem o foco. Observação:em alguns gerenciadores de janelas do Linux, WINDOW_ID_NONE
é sempre enviado imediatamente antes da troca de uma janela do Chrome para outra.
Parâmetros
-
callback
função
Chrome 46 ou superiorO parâmetro
callback
tem esta aparência:(windowId: number) => void
-
windowId
number
ID da janela recém-focada.
-
-
filtros
objeto opcional
-
windowTypes
Condições a que o tipo da janela que está sendo removido precisam atender. Por padrão, ela satisfaz
['normal', 'popup']
.
-
onRemoved
chrome.windows.onRemoved.addListener(
callback: function,
filters?: object,
)
Disparado quando uma janela é removida (fechada).
Parâmetros
-
callback
função
Chrome 46 ou superiorO parâmetro
callback
tem esta aparência:(windowId: number) => void
-
windowId
number
ID da janela removida.
-
-
filtros
objeto opcional
-
windowTypes
Condições a que o tipo da janela que está sendo removido precisam atender. Por padrão, ela satisfaz
['normal', 'popup']
.
-