Descrição
Use a API chrome.app.window
para criar janelas. O Windows tem um frame opcional com barra de título e controles de tamanho. Eles não estão associados a janelas do navegador Chrome. Consulte o Exemplo de estado de janela para uma demonstração dessas opções.
Tipos
AppWindow
Propriedades
-
contentWindow
Janela
O objeto JavaScript "window" do filho criado.
-
id
string
O ID com o qual a janela foi criada.
-
innerBounds
A posição, o tamanho e as restrições do conteúdo da janela, o que não inclui decorações. Essa propriedade é nova no Chrome 36.
-
outerBounds
A posição, o tamanho e as restrições da janela, o que inclui 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
tem esta aparência:() => {...}
-
fechar
void
Feche a janela.
A função
close
tem esta aparência:() => {...}
-
drawAttention
void
Chame atenção para a janela.
A função
drawAttention
tem esta aparência:() => {...}
-
foco
void
Foque na janela.
A função
focus
tem esta aparência:() => {...}
-
modo tela cheia
void
Coloca a janela em tela cheia.
O usuário poderá restaurar a janela pressionando ESC. Para impedir que o estado de tela cheia seja deixado em tela cheia quando a tecla ESC é pressionada, solicite a permissão
app.window.fullscreen.overrideEsc
e cancele o evento chamando .preventDefault() nos manipuladores de keydown e keyup desta forma:window.onkeydown = window.onkeyup = function(e) { if (e.keyCode == 27 /* ESC *\/) { e.preventDefault(); } };
Observe que
window.fullscreen()
fará com que a janela inteira se torne em tela cheia e não exige um gesto do usuário. A API de tela cheia HTML5 também pode ser usada para entrar no modo de tela cheia (consulte APIs Web para mais detalhes).A função
fullscreen
tem esta aparência:() => {...}
-
getBounds
void
DescontinuadoUsar innerBounds ou outerBounds
Acessa os limites internos da janela como um objeto
ContentBounds
.A função
getBounds
tem esta aparência:() => {...}
-
retorna
-
-
ocultar
void
Ocultar a janela. Não faz nada se a janela já estiver oculta.
A função
hide
tem esta aparência:() => {...}
-
isAlwaysOnTop
void
A janela está sempre na parte de cima?
A função
isAlwaysOnTop
tem esta aparência:() => {...}
-
retorna
boolean
-
-
isFullscreen
void
A janela está em tela cheia? Isso será verdadeiro se a janela tiver sido criada em tela cheia ou pelas APIs de tela cheia
AppWindow
ou HTML5.A função
isFullscreen
tem esta aparência:() => {...}
-
retorna
boolean
-
-
isMaximized
void
A janela está maximizada?
A função
isMaximized
tem esta aparência:() => {...}
-
retorna
boolean
-
-
isMinimized
void
A janela está minimizada?
A função
isMinimized
tem esta aparência:() => {...}
-
retorna
boolean
-
-
maximizar
void
Maximize a janela.
A função
maximize
tem esta aparência:() => {...}
-
minimizar
void
Minimize a janela.
A função
minimize
tem esta aparência:() => {...}
-
moveTo
void
Descontinuado desde o Chrome 43Usar outerBounds.
Mova a janela para a posição (
left
,top
).A função
moveTo
tem esta aparência:(left: number, top: number) => {...}
-
à esquerda
number
-
superior
number
-
-
resizeTo
void
Descontinuado desde o Chrome 43Usar outerBounds.
Redimensione a janela para
width
xheight
pixels.A função
resizeTo
tem esta aparência:(width: number, height: number) => {...}
-
width
number
-
height
number
-
-
restore
void
Restaura a janela, saindo do estado maximizado, minimizado ou tela cheia.
A função
restore
tem esta aparência:() => {...}
-
setAlwaysOnTop
void
Define se a janela deve ficar acima da maioria das outras janelas. Requer a permissão
alwaysOnTopWindows
.A função
setAlwaysOnTop
tem esta aparência:(alwaysOnTop: boolean) => {...}
-
alwaysOnTop
boolean
-
-
setBounds
void
DescontinuadoUsar innerBounds ou outerBounds
Define os limites internos da janela.
A função
setBounds
tem esta aparência:(bounds: ContentBounds) => {...}
-
limites
-
-
setVisibleOnAllWorkspaces
void
Defina se a janela ficará visível em todos os espaços de trabalho. Apenas para plataformas compatíveis com esse recurso.
A função
setVisibleOnAllWorkspaces
tem esta aparência:(alwaysVisible: boolean) => {...}
-
alwaysVisible
boolean
-
-
mostrar
void
Mostrar a janela. Não faz nada se a janela já estiver visível. Focar a janela se
focused
for definido como verdadeiro ou omitido.A função
show
tem esta aparência:(focused?: boolean) => {...}
-
foco
booleano opcional
-
Bounds
Propriedades
-
height
number
Essa propriedade pode ser usada para ler ou gravar a altura atual do conteúdo ou da janela.
-
à esquerda
number
Essa propriedade pode ser usada para ler ou gravar a coordenada X atual do conteúdo ou da janela.
-
maxHeight
número opcional
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
número opcional
Esta 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
número opcional
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
número opcional
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
number
Essa propriedade pode ser usada para ler ou gravar a coordenada Y atual do conteúdo ou da janela.
-
width
number
Esta 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
não muda a restrição.A função
setMaximumSize
tem esta aparência:(maxWidth: number, maxHeight: number) => {...}
-
maxWidth
number
-
maxHeight
number
-
-
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
não muda a restrição.A função
setMinimumSize
tem esta aparência:(minWidth: number, minHeight: number) => {...}
-
minWidth
number
-
minHeight
number
-
-
setPosition
void
Defina a posição superior e esquerda do conteúdo ou da janela.
A função
setPosition
tem esta aparência:(left: number, top: number) => {...}
-
à esquerda
number
-
superior
number
-
-
setSize
void
Defina a largura e a altura do conteúdo ou da janela.
A função
setSize
tem esta aparência:(width: number, height: number) => {...}
-
width
number
-
height
number
-
BoundsSpecification
Propriedades
-
height
número opcional
Indica a altura do conteúdo ou da janela.
-
à esquerda
número opcional
A coordenada X do conteúdo ou da janela.
-
maxHeight
número opcional
A altura máxima do conteúdo ou da janela.
-
maxWidth
número opcional
A largura máxima do conteúdo ou da janela.
-
minHeight
número opcional
A altura mínima do conteúdo ou da janela.
-
minWidth
número opcional
A largura mínima do conteúdo ou da janela.
-
superior
número opcional
A coordenada Y do conteúdo ou da janela.
-
width
número opcional
A largura do conteúdo ou da janela.
ContentBounds
Propriedades
-
height
número opcional
-
à esquerda
número opcional
-
superior
número opcional
-
width
número opcional
CreateWindowOptions
Propriedades
-
alwaysOnTop
booleano opcional
Se verdadeiro, a janela permanecerá acima da maioria das outras janelas. Se houver várias janelas desse tipo, a janela em foco no momento estará 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
DescontinuadoUsar 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 vão ser usados.
-
foco
booleano opcional
Se verdadeiro, a janela será focada quando for 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 arrastáveis.no-drag
pode ser usada para desativar esse estilo em elementos aninhados.O uso do
FrameOptions
é novo no M36. -
booleano opcional
Se verdadeiro, a janela será criada em um estado oculto. Chame show() na janela para mostrá-lo depois que ele for criado. O padrão é "false".
-
ícone
string opcional
Chrome 54 ou mais recenteURL do ícone da janela. Uma janela pode ter o próprio ícone quando showInShelf está definido como "true". O URL deve ser global ou um URL local de 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 janela.
-
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 umaid
correspondente tiver sido mostrada antes, os limites memorizados vão ser usados.O padding entre os limites interno e externo é determinado pelo SO. Portanto, definir a mesma propriedade de limites para
innerBounds
eouterBounds
resultará em um erro.Essa propriedade é nova no Chrome 36.
-
maxHeight
número opcional
DescontinuadoUsar innerBounds ou outerBounds
Altura máxima da janela.
-
maxWidth
número opcional
DescontinuadoUsar innerBounds ou outerBounds
Largura máxima da janela.
-
minHeight
número opcional
DescontinuadoUsar innerBounds ou outerBounds
Altura mínima da janela.
-
minWidth
número opcional
DescontinuadoUsar 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 da janela, como a barra de título e o frame). Se um
id
também for especificado e uma janela com umaid
correspondente tiver sido mostrada antes, os limites memorizados vão ser usados.O padding entre os limites interno e externo é determinado pelo SO. Portanto, definir a mesma propriedade de limites para
innerBounds
eouterBounds
resultará em um erro.Essa propriedade é nova no Chrome 36.
-
resizable
booleano opcional
Se verdadeiro, a janela será redimensionável pelo usuário. O padrão é verdadeiro (true).
-
showInShelf
booleano opcional
Chrome 54 ou mais recenteSe verdadeiro, a janela terá seu 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 há mais suporte para várias janelas com o mesmo ID.
Por padrão, se você especificar um ID para a janela, a janela só será criada se não existir outra com o mesmo ID. Se já existir uma janela com o mesmo ID, ela será ativada. Se quiser criar várias janelas com o mesmo ID, defina essa propriedade como falsa.
-
state
Estado opcional
O estado inicial da janela, permitindo que ela seja criada em tela cheia, maximizada ou minimizada. O padrão é "normal".
-
Tipo
WindowType (opcional)
Chrome 45 ou mais recente Descontinuado desde o Chrome 69Todas as janelas de apps usam o tipo de janela "shell"
Tipo de janela a ser criada.
-
visibleOnAllWorkspaces
booleano opcional
Se verdadeira e for compatível com a plataforma, a janela ficará visível em todos os espaços de trabalho.
FrameOptions
Propriedades
-
activeColor
string opcional
Permite que a cor do frame da janela, quando ativa, seja definida. A cor do frame só vai estar disponível se o tipo de frame for
chrome
.A cor do frame só vai estar disponível se o tipo de frame for
chrome
.A cor dos frames é uma novidade no Chrome 36.
-
color
string opcional
Permite que a cor do frame seja definida. A cor do frame só vai estar disponível se o tipo de frame for
chrome
.A cor dos frames é uma novidade no Chrome 36.
-
inactiveColor
string opcional
Permite que a cor da moldura da janela em inatividade seja definida de maneira diferente da cor ativa. A cor do frame só vai estar disponível se o tipo de frame for
chrome
.inactiveColor
precisa ser usado em conjunto comcolor
.A cor dos frames é uma novidade no 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 arrastáveis.no-drag
pode ser usada para desativar esse estilo em elementos aninhados.
State
Estado de uma janela: normal, tela cheia, maximizada, minimizada.
Tipo enumerado
"normal"
WindowType
Especifica o tipo de janela a ser criada.
Tipo enumerado
"shell"
Tipo de janela padrão.
"panel"
Janela gerenciada do SO (descontinuada).
Métodos
canSetVisibleOnAllWorkspaces()
chrome.app.window.canSetVisibleOnAllWorkspaces()
Se a plataforma atual oferece suporte a janelas visíveis em todos os espaços de trabalho.
Retorna
-
boolean
create()
chrome.app.window.create(
url: string,
options?: CreateWindowOptions,
callback?: function,
)
O tamanho e a posição de uma janela podem ser especificados de várias maneiras diferentes. A opção mais simples é não especificar nada. Nesse caso, serão usados um tamanho padrão e uma posição dependente da plataforma.
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. 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 internos e externos é considerado um erro (por exemplo, definir innerBounds.left
e outerBounds.left
).
Para lembrar automaticamente as posições das janelas, dê a elas IDs. Se uma janela tiver um ID, este ID será usado para lembrar o tamanho e a posição da janela sempre que ela for movida ou redimensionada. Esse tamanho e essa posição são usados no lugar 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-a para o local desejado e mostre-a.
Parâmetros
-
url
string
-
do modelo.
CreateWindowOptions (opcional)
-
callback
função optional
O parâmetro
callback
tem esta aparência:(createdWindow: AppWindow) => void
-
createdWindow
-
Retorna
-
Promise<AppWindow>
Chrome 117 ou mais recentePromessas são compatíveis apenas com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.
current()
chrome.app.window.current()
Retorna um objeto AppWindow
para o contexto do script atual (ou seja, o objeto "window" JavaScript). Isso também pode ser chamado em um identificador para o contexto de um script de outra página, por exemplo: otherWindow.chrome.app.window.current().
Retorna
-
AppWindow | indefinido
get()
chrome.app.window.get(
id: string,
)
Recebe um AppWindow
com o ID fornecido. Se nenhuma janela com o ID fornecido existir, será retornado nulo. Esse método é novo no Chrome 33.
Parâmetros
-
id
string
Retorna
-
AppWindow | indefinido
getAll()
chrome.app.window.getAll()
Recebe uma matriz de todas as janelas de app 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. Ele precisa ser ouvido em uma janela diferente da janela que está sendo fechada, por exemplo, na página em segundo plano. Isso ocorre porque a janela que está sendo fechada está em processo de eliminação quando o evento é disparado, o que significa que nem todas as APIs no contexto do 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 é exibida 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 e não foi minimizada ou maximizada.
Parâmetros
-
callback
função
O parâmetro
callback
tem esta aparência:() => void