Descrição
Use a API chrome.app.window para criar janelas. As janelas têm um frame opcional com barra de título e controles de tamanho. Eles não estão associados a nenhuma janela do navegador Chrome. Consulte o exemplo de estado da janela para uma demonstração dessas opções.
Tipos
AppWindow
Propriedades
-
contentWindow
Janela
O objeto "window" do JavaScript para o filho criado.
-
ID
string
O ID com que a janela foi criada.
-
innerBounds
A posição, o tamanho e as restrições do conteúdo da janela, que não inclui as decorações da janela. Essa propriedade é nova no Chrome 36.
-
outerBounds
A posição, o tamanho e as restrições da janela, que incluem decorações, como a barra de título e o frame. Essa propriedade é nova no Chrome 36.
-
clearAttention
void
Preste atenção na janela.
A função
clearAttentioné semelhante a:() => {...} -
fechar
void
Feche a janela.
A função
closeé semelhante a:() => {...} -
drawAttention
void
Chame a atenção para a janela.
A função
drawAttentioné semelhante a:() => {...} -
foco
void
Focar na janela.
A função
focusé semelhante a:() => {...} -
tela cheia
void
Coloca a janela em tela cheia.
O usuário poderá restaurar a janela pressionando ESC. Um aplicativo pode impedir que o estado de tela cheia seja encerrado quando ESC é pressionado. Para isso, ele solicita a permissão
app.window.fullscreen.overrideEsce cancela o evento chamando .preventDefault() nos manipuladores keydown e keyup, desta forma:window.onkeydown = window.onkeyup = function(e) { if (e.keyCode == 27 /* ESC *\/) { e.preventDefault(); } };Observe que
window.fullscreen()faz com que toda a janela fique em tela cheia e não exige uma interação inicial. A API de tela cheia do HTML5 também pode ser usada para entrar no modo de tela cheia (consulte as APIs da Web para mais detalhes).A função
fullscreené semelhante a:() => {...} -
getBounds
void
DescontinuadoUse innerBounds ou outerBounds.
Recebe os limites internos da janela como um objeto
ContentBounds.A função
getBoundsé semelhante a:() => {...}-
retorna
-
-
ocultar
void
Ocultar a janela. Não faz nada se a janela já estiver oculta.
A função
hideé semelhante a:() => {...} -
isAlwaysOnTop
void
A janela está sempre em primeiro plano?
A função
isAlwaysOnTopé semelhante a:() => {...}-
retorna
booleano
-
-
isFullscreen
void
A janela está em tela cheia? Isso será verdadeiro se a janela tiver sido criada em tela cheia ou se tiver sido colocada em tela cheia pelas APIs de tela cheia
AppWindowou HTML5.A função
isFullscreené semelhante a:() => {...}-
retorna
booleano
-
-
isMaximized
void
A janela está maximizada?
A função
isMaximizedé semelhante a:() => {...}-
retorna
booleano
-
-
isMinimized
void
A janela está minimizada?
A função
isMinimizedé semelhante a:() => {...}-
retorna
booleano
-
-
maximizar
void
Maximize a janela.
A função
maximizeé semelhante a:() => {...} -
minimizar
void
Minimizar a janela.
A função
minimizeé semelhante a:() => {...} -
moveTo
void
Descontinuado desde o Chrome 43Use outerBounds.
Mova a janela para a posição (
left,top).A função
moveToé semelhante a:(left: number, top: number) => {...}
-
esquerda
número
-
superior
número
-
-
resizeTo
void
Descontinuado desde o Chrome 43Use outerBounds.
Redimensione a janela para
widthxheightpixels.A função
resizeToé semelhante a:(width: number, height: number) => {...}
-
largura
número
-
altura
número
-
-
restore
void
Restaura a janela, saindo de um estado maximizado, minimizado ou de tela cheia.
A função
restoreé semelhante a:() => {...} -
setAlwaysOnTop
void
Define se a janela deve ficar acima da maioria das outras janelas. Requer a permissão
alwaysOnTopWindows.A função
setAlwaysOnTopé semelhante a:(alwaysOnTop: boolean) => {...}
-
alwaysOnTop
booleano
-
-
setBounds
void
DescontinuadoUse innerBounds ou outerBounds.
Defina os limites internos da janela.
A função
setBoundsé semelhante a:(bounds: ContentBounds) => {...}
-
bounds
-
-
setVisibleOnAllWorkspaces
void
Defina se a janela fica visível em todos os espaços de trabalho. (Somente para plataformas compatíveis).
A função
setVisibleOnAllWorkspacesé semelhante a:(alwaysVisible: boolean) => {...}
-
alwaysVisible
booleano
-
-
mostrar
void
Mostre a janela. Não faz nada se a janela já estiver visível. Foca a janela se
focusedestiver definido como verdadeiro ou for omitido.A função
showé semelhante a:(focused?: boolean) => {...}
-
foco
booleano opcional
-
Bounds
Propriedades
-
altura
número
Essa propriedade pode ser usada para ler ou gravar a altura atual do conteúdo ou da janela.
-
esquerda
número
Essa propriedade pode ser usada para ler ou gravar a coordenada X atual do conteúdo ou da janela.
-
maxHeight
número optional
Essa propriedade pode ser usada para ler ou gravar a altura máxima atual do conteúdo ou da janela. Um valor de
nullindica "não especificado". -
maxWidth
número optional
Essa propriedade pode ser usada para ler ou gravar a largura máxima atual do conteúdo ou da janela. Um valor de
nullindica "não especificado". -
minHeight
número optional
Essa propriedade pode ser usada para ler ou gravar a altura mínima atual do conteúdo ou da janela. Um valor de
nullindica "não especificado". -
minWidth
número optional
Essa propriedade pode ser usada para ler ou gravar a largura mínima atual do conteúdo ou da janela. Um valor de
nullindica "não especificado". -
superior
número
Essa propriedade pode ser usada para ler ou gravar a coordenada Y atual do conteúdo ou da janela.
-
largura
número
Essa propriedade pode ser usada para ler ou gravar a largura atual do conteúdo ou da janela.
-
setMaximumSize
void
Defina as restrições de tamanho máximo do conteúdo ou da janela. A largura ou altura máxima pode ser definida como
nullpara remover a restrição. Um valor deundefineddeixa uma restrição inalterada.A função
setMaximumSizeé semelhante a:(maxWidth: number, maxHeight: number) => {...}
-
maxWidth
número
-
maxHeight
número
-
-
setMinimumSize
void
Defina as restrições de tamanho mínimo do conteúdo ou da janela. A largura ou altura mínima pode ser definida como
nullpara remover a restrição. Um valor deundefineddeixa uma restrição inalterada.A função
setMinimumSizeé semelhante a:(minWidth: number, minHeight: number) => {...}
-
minWidth
número
-
minHeight
número
-
-
setPosition
void
Define a posição esquerda e superior do conteúdo ou da janela.
A função
setPositioné semelhante a:(left: number, top: number) => {...}
-
esquerda
número
-
superior
número
-
-
setSize
void
Defina a largura e a altura do conteúdo ou da janela.
A função
setSizeé semelhante a:(width: number, height: number) => {...}
-
largura
número
-
altura
número
-
BoundsSpecification
Propriedades
-
altura
número optional
A altura do conteúdo ou da janela.
-
esquerda
número optional
A coordenada X do conteúdo ou da janela.
-
maxHeight
número optional
A altura máxima do conteúdo ou da janela.
-
maxWidth
número optional
A largura máxima do conteúdo ou da janela.
-
minHeight
número optional
A altura mínima do conteúdo ou da janela.
-
minWidth
número optional
A largura mínima do conteúdo ou da janela.
-
superior
número optional
A coordenada Y do conteúdo ou da janela.
-
largura
número optional
A largura do conteúdo ou da janela.
ContentBounds
Propriedades
-
altura
número optional
-
esquerda
número optional
-
superior
número optional
-
largura
número optional
CreateWindowOptions
Propriedades
-
alwaysOnTop
booleano opcional
Se for verdadeiro, a janela vai ficar acima da maioria das outras janelas. Se houver várias janelas desse tipo, a que estiver em foco no momento vai ficar em primeiro plano. Requer a permissão
alwaysOnTopWindows. O padrão é "falso".Chame
setAlwaysOnTop()na janela para mudar essa propriedade após a criação. -
bounds
ContentBounds opcional
DescontinuadoUse innerBounds ou outerBounds.
Tamanho e posição do conteúdo na janela (exceto a barra de título). Se um ID também for especificado e uma janela com um ID correspondente já tiver sido mostrada, os limites lembrados da janela serão usados.
-
foco
booleano opcional
Se for verdadeiro, a janela será focalizada quando criada. O padrão é verdadeiro (true).
-
moldura
string | FrameOptions opcional
Tipo de frame:
noneouchrome(o padrão échrome). Paranone, a propriedade CSS-webkit-app-regionpode ser usada para aplicar a capacidade de arrastar à janela do app.-webkit-app-region: dragpode ser usado para marcar regiões como arrastáveis.no-dragpode ser usado para desativar esse estilo em elementos aninhados.O uso de
FrameOptionsé novo no M36. -
booleano opcional
Se verdadeiro, a janela será criada em um estado oculto. Chame show() na janela para mostrá-la depois que ela for criada. O padrão é "falso".
-
ícone
string opcional
Chrome 54 ou mais recenteURL do ícone da janela. Uma janela pode ter o próprio ícone quando showInShelf é definido como verdadeiro. O URL precisa ser global ou local da extensão.
-
ID
string opcional
ID para identificar a janela. Isso será usado para lembrar o tamanho e a posição da janela e restaurar essa geometria quando uma janela com o mesmo ID for aberta posteriormente. Se uma janela com um determinado ID for criada enquanto outra com o mesmo ID já existir, a janela aberta no momento será focalizada em vez de criar uma nova.
-
innerBounds
BoundsSpecification opcional
Usado para especificar a posição inicial, o tamanho inicial e as restrições do conteúdo da janela (exceto as decorações da janela). Se um
idtambém for especificado e uma janela com umidcorrespondente já tiver sido mostrada, os limites lembrados serão usados.O padding entre os limites interno e externo é determinado pelo SO. Portanto, definir a mesma propriedade de limites para
innerBoundseouterBoundsvai resultar em um erro.Essa propriedade é nova no Chrome 36.
-
maxHeight
número optional
DescontinuadoUse innerBounds ou outerBounds.
Altura máxima da janela.
-
maxWidth
número optional
DescontinuadoUse innerBounds ou outerBounds.
Largura máxima da janela.
-
minHeight
número optional
DescontinuadoUse innerBounds ou outerBounds.
Altura mínima da janela.
-
minWidth
número optional
DescontinuadoUse innerBounds ou outerBounds.
Largura mínima da janela.
-
outerBounds
BoundsSpecification opcional
Usado para especificar a posição inicial, o tamanho inicial e as restrições da janela (incluindo decorações, como a barra de título e o frame). Se um
idtambém for especificado e uma janela com umidcorrespondente já tiver sido mostrada, os limites lembrados serão usados.O padding entre os limites interno e externo é determinado pelo SO. Portanto, definir a mesma propriedade de limites para
innerBoundseouterBoundsvai resultar em um erro.Essa propriedade é nova no Chrome 36.
-
resizable
booleano opcional
Se for verdadeiro, o usuário poderá redimensionar a janela. O padrão é verdadeiro (true).
-
showInShelf
booleano opcional
Chrome 54 ou mais recenteSe for verdadeiro, a janela terá o próprio ícone de estante. Caso contrário, a janela será agrupada na estante com outras janelas associadas ao app. O padrão é "false". Se showInShelf estiver definido como verdadeiro, você precisará especificar um ID para a janela.
-
Singleton
booleano opcional
DescontinuadoNão é mais possível ter várias janelas com o mesmo ID.
Por padrão, se você especificar um ID para a janela, ela só será criada se não houver outra com o mesmo ID. Se já houver uma janela com o mesmo ID, ela será ativada. Se você quiser criar várias janelas com o mesmo ID, defina essa propriedade como falsa.
-
estado
Estado opcional
O estado inicial da janela, permitindo que ela seja criada já em tela cheia, maximizada ou minimizada. O padrão é "normal".
-
tipo
WindowType opcional
Chrome 45+ Descontinuado desde o Chrome 69Todas as janelas de apps usam o tipo "shell"
Tipo de janela a ser criada.
-
visibleOnAllWorkspaces
booleano opcional
Se for verdadeiro e houver suporte da plataforma, a janela vai ficar visível em todos os espaços de trabalho.
FrameOptions
Propriedades
-
activeColor
string opcional
Permite definir a cor da moldura da janela quando ela está ativa. A coloração de frame só está disponível se o tipo de frame for
chrome.A coloração de frame só está disponível se o tipo de frame for
chrome.A coloração de frames é uma novidade do Chrome 36.
-
cor
string opcional
Permite definir a cor do frame. A coloração de frame só está disponível se o tipo de frame for
chrome.A coloração de frames é uma novidade do Chrome 36.
-
inactiveColor
string opcional
Permite que a cor da moldura da janela quando inativa seja definida de forma diferente da cor ativa. A coloração de frame só está disponível se o tipo de frame for
chrome.inactiveColorprecisa ser usado comcolor.A coloração de frames é uma novidade do Chrome 36.
-
tipo
string opcional
Tipo de frame:
noneouchrome(o padrão échrome).Para
none, a propriedade CSS-webkit-app-regionpode ser usada para aplicar a capacidade de arrastar à janela do app.-webkit-app-region: dragpode ser usado para marcar regiões como arrastáveis.no-dragpode ser usado para desativar esse estilo em elementos aninhados.
State
Estado de uma janela: normal, tela cheia, maximizada, minimizada.
Enumeração
"normal"
"fullscreen"
"maximized"
"minimized"
WindowType
Especifica o tipo de janela a ser criada.
Enumeração
"shell"
Tipo de janela padrão.
"panel"
Janela gerenciada pelo SO (descontinuada).
Métodos
canSetVisibleOnAllWorkspaces()
chrome.app.window.canSetVisibleOnAllWorkspaces(): boolean
Se a plataforma atual permite que as janelas fiquem visíveis em todos os espaços de trabalho.
Retorna
-
booleano
create()
chrome.app.window.create(
url: string,
options?: CreateWindowOptions,
callback?: function,
): Promise<AppWindow>
O tamanho e a posição de uma janela podem ser especificados de várias maneiras. A opção mais simples é não especificar nada. Nesse caso, um tamanho padrão e uma posição dependente da plataforma serão usados.
Para definir a posição, o tamanho e as restrições da janela, use as propriedades innerBounds ou outerBounds. Os limites internos não incluem decorações de janela. Os limites externos incluem a barra de título e o frame da janela. O padding entre os limites interno e externo é determinado pelo SO. Portanto, definir a mesma propriedade para os limites interno e externo é considerado um erro (por exemplo, definir innerBounds.left e outerBounds.left).
Para lembrar automaticamente as posições das janelas, você pode atribuir IDs a elas. Se uma janela tiver um ID, ele será usado para lembrar o tamanho e a posição da janela sempre que ela for movida ou redimensionada. Esse tamanho e posição são usados em vez dos limites especificados na abertura subsequente de uma janela com o mesmo ID. Se você precisar abrir uma janela com um ID em um local diferente do padrão memorizado, crie-a oculta, mova-a para o local desejado e mostre-a.
Parâmetros
-
url
string
-
opções
CreateWindowOptions opcional
-
callback
função optional
O parâmetro
callbacké semelhante a:(createdWindow: AppWindow) => void
-
createdWindow
-
Retorna
-
Promise<AppWindow>
Chrome 117+As promessas só são compatíveis com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.
current()
chrome.app.window.current(): AppWindow | undefined
Retorna um objeto AppWindow para o contexto do script atual (ou seja, o objeto "window" do JavaScript). Isso também pode ser chamado em um identificador para um contexto de script de outra página, por exemplo: otherWindow.chrome.app.window.current().
Retorna
-
AppWindow | undefined
get()
chrome.app.window.get(
id: string,
): AppWindow | undefined
Recebe um AppWindow com o ID fornecido. Se não houver nenhuma janela com o ID fornecido, o valor "null" será retornado. Esse método é novo no Chrome 33.
Parâmetros
-
ID
string
Retorna
-
AppWindow | undefined
getAll()
chrome.app.window.getAll(): AppWindow[]
Recebe uma matriz de todas as janelas de apps criadas no momento. Esse método é novo no Chrome 33.
Retorna
Eventos
onBoundsChanged
chrome.app.window.onBoundsChanged.addListener(
callback: function,
)
Disparado quando a janela é redimensionada.
Parâmetros
-
callback
função
O parâmetro
callbacké semelhante a:() => void
onClosed
chrome.app.window.onClosed.addListener(
callback: function,
)
Acionado quando a janela é fechada. Esse evento precisa ser detectado em uma janela diferente da que está sendo fechada, por exemplo, na página em segundo plano. Isso ocorre porque a janela que está sendo fechada estará em processo de encerramento quando o evento for acionado, o que significa que nem todas as APIs no contexto de script da janela estarão funcionais.
Parâmetros
-
callback
função
O parâmetro
callbacké semelhante a:() => void
onFullscreened
chrome.app.window.onFullscreened.addListener(
callback: function,
)
Disparado quando a janela é colocada em tela cheia (pelas APIs AppWindow ou HTML5).
Parâmetros
-
callback
função
O parâmetro
callbacké semelhante a:() => void
onMaximized
chrome.app.window.onMaximized.addListener(
callback: function,
)
Acionado quando a janela é maximizada.
Parâmetros
-
callback
função
O parâmetro
callbacké semelhante a:() => void
onMinimized
chrome.app.window.onMinimized.addListener(
callback: function,
)
Acionado quando a janela é minimizada.
Parâmetros
-
callback
função
O parâmetro
callbacké semelhante a:() => void
onRestored
chrome.app.window.onRestored.addListener(
callback: function,
)
Acionado quando a janela é restaurada depois de ser minimizada ou maximizada.
Parâmetros
-
callback
função
O parâmetro
callbacké semelhante a:() => void