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. Elas não estão associadas 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 a criança criada.
-
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 incluem decorações. Essa propriedade é nova no Chrome 36.
-
outerBounds
A posição, o tamanho e as restrições da janela, incluindo decorações, como a barra de título e o frame. Essa propriedade é nova no Chrome 36.
-
clearAttention
void
Atenção clara à janela.
A função
clearAttention
é assim:() => {...}
-
fechar
void
Feche a janela.
A função
close
é assim:() => {...}
-
drawAttention
void
Chame a atenção para a janela.
A função
drawAttention
é assim:() => {...}
-
foco
void
Foque a janela.
A função
focus
é assim:() => {...}
-
tela cheia
void
Coloca a janela em tela cheia.
O usuário pode restaurar a janela pressionando ESC. Um aplicativo pode impedir que o estado de tela cheia seja deixado quando ESC é pressionado solicitando a permissão
app.window.fullscreen.overrideEsc
e cancelando o evento chamando .preventDefault() nos manipuladores keydown e keyup, assim:window.onkeydown = window.onkeyup = function(e) { if (e.keyCode == 27 /* ESC *\/) { e.preventDefault(); } };
Observação:
window.fullscreen()
faz com que toda a janela fique em tela cheia e não exige um gesto do usuário. A API HTML5 Fullscreen também pode ser usada para entrar no modo de tela cheia. Consulte APIs da Web para mais detalhes.A função
fullscreen
é assim:() => {...}
-
getBounds
void
DescontinuadoUse innerBounds ou outerBounds.
Receba os limites internos da janela como um objeto
ContentBounds
.A função
getBounds
é assim:() => {...}
-
retorna
-
-
ocultar
void
Oculte a janela. Não faz nada se a janela já estiver oculta.
A função
hide
é assim:() => {...}
-
isAlwaysOnTop
void
A janela está sempre na parte de cima?
A função
isAlwaysOnTop
é assim:() => {...}
-
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
AppWindow
ou HTML5.A função
isFullscreen
é assim:() => {...}
-
retorna
booleano
-
-
isMaximized
void
A janela está maximizada?
A função
isMaximized
é assim:() => {...}
-
retorna
booleano
-
-
isMinimized
void
A janela está minimizada?
A função
isMinimized
é assim:() => {...}
-
retorna
booleano
-
-
maximizar
void
Maximize a janela.
A função
maximize
é assim:() => {...}
-
minimizar
void
Minimizar a janela.
A função
minimize
é assim:() => {...}
-
moveTo
void
Suspenso desde o Chrome 43Use outerBounds.
Mova a janela para a posição (
left
,top
).A função
moveTo
é assim:(left: number, top: number) => {...}
-
esquerda
número
-
superior
número
-
-
resizeTo
void
Suspenso desde o Chrome 43Use outerBounds.
Redimensione a janela para
width
xheight
pixels.A função
resizeTo
é assim:(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
é assim:() => {...}
-
setAlwaysOnTop
void
Define se a janela deve permanecer acima da maioria das outras janelas. Requer a permissão
alwaysOnTopWindows
.A função
setAlwaysOnTop
é assim:(alwaysOnTop: boolean) => {...}
-
alwaysOnTop
booleano
-
-
setBounds
void
DescontinuadoUse innerBounds ou outerBounds.
Defina os limites internos da janela.
A função
setBounds
é assim:(bounds: ContentBounds) => {...}
-
limites
-
-
setVisibleOnAllWorkspaces
void
Defina se a janela está visível em todos os espaços de trabalho. (apenas para plataformas que oferecem suporte a isso).
A função
setVisibleOnAllWorkspaces
é assim:(alwaysVisible: boolean) => {...}
-
alwaysVisible
booleano
-
-
mostrar
void
Mostrar a janela. Não faz nada se a janela já estiver visível. Foca a janela se
focused
estiver definido como verdadeiro ou for omitido.A função
show
é assim:(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
number optional
Essa propriedade pode ser usada para ler ou gravar a altura máxima atual do conteúdo ou da janela. Um valor de
null
indica "não especificado". -
maxWidth
number optional
Essa propriedade pode ser usada para ler ou gravar a largura máxima atual do conteúdo ou da janela. Um valor de
null
indica "não especificado". -
minHeight
number optional
Essa propriedade pode ser usada para ler ou gravar a altura mínima atual do conteúdo ou da janela. Um valor de
null
indica "não especificado". -
minWidth
number optional
Essa propriedade pode ser usada para ler ou gravar a largura mínima atual do conteúdo ou da janela. Um valor de
null
indica "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
null
para remover a restrição. Um valor deundefined
deixa uma restrição inalterada.A função
setMaximumSize
é assim:(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
null
para remover a restrição. Um valor deundefined
deixa uma restrição inalterada.A função
setMinimumSize
é assim:(minWidth: number, minHeight: number) => {...}
-
minWidth
número
-
minHeight
número
-
-
setPosition
void
Define a posição à esquerda e na parte superior do conteúdo ou da janela.
A função
setPosition
é assim:(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
é assim:(width: number, height: number) => {...}
-
largura
número
-
altura
número
-
BoundsSpecification
Propriedades
-
altura
number optional
A altura do conteúdo ou da janela.
-
esquerda
number optional
A coordenada X do conteúdo ou da janela.
-
maxHeight
number optional
A altura máxima do conteúdo ou da janela.
-
maxWidth
number optional
A largura máxima do conteúdo ou da janela.
-
minHeight
number optional
A altura mínima do conteúdo ou da janela.
-
minWidth
number optional
A largura mínima do conteúdo ou da janela.
-
superior
number optional
A coordenada Y do conteúdo ou da janela.
-
largura
number optional
A largura do conteúdo ou da janela.
ContentBounds
Propriedades
-
altura
number optional
-
esquerda
number optional
-
superior
number optional
-
largura
number 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 vai ficar em primeiro plano. Requer a permissão
alwaysOnTopWindows
. O padrão é "false".Chame
setAlwaysOnTop()
na janela para mudar essa propriedade após a criação. -
limites
ContentBounds opcional
DescontinuadoUse innerBounds ou outerBounds.
Tamanho e posição do conteúdo na janela (excluindo a barra de título). Se um ID também for especificado e uma janela com um ID correspondente tiver sido mostrada antes, os limites lembrados da janela serão usados.
-
foco
booleano opcional
Se for verdadeiro, a janela será focada quando criada. O padrão é verdadeiro (true).
-
moldura
string | FrameOptions opcional
Tipo de frame:
none
ouchrome
(o padrão échrome
). Paranone
, a propriedade CSS-webkit-app-region
pode ser usada para aplicar a capacidade de arrastar à janela do app.-webkit-app-region: drag
pode ser usado para marcar regiões como arrastáveis.no-drag
pode ser usado para desativar esse estilo em elementos aninhados.O uso de
FrameOptions
é uma novidade no M36. -
booleano opcional
Se for verdadeiro, a janela será criada em um estado oculto. Chame show() na janela para mostrá-la depois que ela for criada. O padrão é "false".
-
ícone
string opcional
Chrome 54 ou mais recenteURL do ícone da janela. Uma janela pode ter um ícone próprio quando "showInShelf" é definido como "true". O URL precisa ser global ou local de uma 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á focada 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 (excluindo decorações). Se um
id
também for especificado e uma janela com umid
correspondente tiver sido mostrada antes, 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
innerBounds
eouterBounds
vai resultar em um erro.Essa propriedade é nova no Chrome 36.
-
maxHeight
number optional
DescontinuadoUse innerBounds ou outerBounds.
Altura máxima da janela.
-
maxWidth
number optional
DescontinuadoUse innerBounds ou outerBounds.
Largura máxima da janela.
-
minHeight
number optional
DescontinuadoUse innerBounds ou outerBounds.
Altura mínima da janela.
-
minWidth
number 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
id
também for especificado e uma janela com umid
correspondente tiver sido mostrada antes, 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
innerBounds
eouterBounds
vai resultar em um erro.Essa propriedade é nova no Chrome 36.
-
resizable
booleano opcional
Se for "true", a janela poderá ser redimensionada pelo usuário. O padrão é verdadeiro (true).
-
showInShelf
booleano opcional
Chrome 54 ou mais recenteSe for verdadeiro, a janela terá um ícone próprio na barra. Caso contrário, a janela será agrupada na bandeja com outras janelas associadas ao app. O padrão é "false". Se "showInShelf" estiver definido como "true", você precisará especificar um ID para a janela.
-
Singleton
booleano opcional
DescontinuadoNão há mais suporte para várias janelas com o mesmo ID.
Por padrão, se você especificar um ID para a janela, ela só será criada se outra janela com o mesmo ID ainda não existir. Se já existir uma janela com o mesmo ID, ela será ativada. Se você quiser criar várias janelas com o mesmo ID, defina essa propriedade como "false".
-
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 ou mais recente Suspensas desde o Chrome 69Todas as janelas de apps usam o tipo "shell".
Tipo de janela a ser criada.
-
visibleOnAllWorkspaces
booleano opcional
Se for "true" e a plataforma oferecer suporte, a janela vai ficar visível em todos os espaços de trabalho.
FrameOptions
Propriedades
-
activeColor
string opcional
Permite definir a cor da borda da janela quando ela está ativa. A coloração do frame só está disponível se o tipo de frame for
chrome
.A coloração do 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 do 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 borda da janela inativa seja definida de maneira diferente da cor ativa. A coloração do frame só está disponível se o tipo de frame for
chrome
.inactiveColor
precisa ser usado comcolor
.A coloração de frames é uma novidade do Chrome 36.
-
tipo
string opcional
Tipo de frame:
none
ouchrome
(o padrão échrome
).Para
none
, a propriedade CSS-webkit-app-region
pode ser usada para aplicar a capacidade de arrastar à janela do app.-webkit-app-region: drag
pode ser usado para marcar regiões como arrastáveis.no-drag
pode 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 a estrutura da janela. O padding entre os limites interno e externo é determinado pelo SO. Portanto, definir a mesma propriedade para limites internos e externos é considerado um erro (por exemplo, definir innerBounds.left
e outerBounds.left
).
Para lembrar automaticamente as posições das janelas, atribua IDs a elas. Se uma janela tiver um ID, ele será usado para lembrar o tamanho e a posição dela 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 lembrado, crie-a oculta, mova para o local desejado e mostre.
Parâmetros
-
url
string
-
opções
CreateWindowOptions opcional
-
callback
função opcional
O parâmetro
callback
tem esta aparência:(createdWindow: AppWindow) => void
-
createdWindow
-
Retorna
-
Promise<AppWindow>
Chrome 117 ou mais recenteAs 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 de script atual (ou seja, 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 especificado. Se não houver uma janela com o ID especificado, 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
tem esta aparência:() => void
onClosed
chrome.app.window.onClosed.addListener(
callback: function,
)
Disparado quando a janela é fechada. Essa ação precisa ser detectada em uma janela diferente da que está sendo fechada, por exemplo, na página em segundo plano. Isso acontece porque a janela que está sendo fechada estará em processo de desmontagem quando o evento for disparado, o que significa que nem todas as APIs no contexto de script da janela vão funcionar.
Parâmetros
-
callback
função
O parâmetro
callback
tem esta aparência:() => 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
tem esta aparência:() => void
onMaximized
chrome.app.window.onMaximized.addListener(
callback: function,
)
Disparado quando a janela é maximizada.
Parâmetros
-
callback
função
O parâmetro
callback
tem esta aparência:() => void
onMinimized
chrome.app.window.onMinimized.addListener(
callback: function,
)
Disparado quando a janela é minimizada.
Parâmetros
-
callback
função
O parâmetro
callback
tem esta aparência:() => void
onRestored
chrome.app.window.onRestored.addListener(
callback: function,
)
Disparado quando a janela é restaurada após ser minimizada ou maximizada.
Parâmetros
-
callback
função
O parâmetro
callback
tem esta aparência:() => void