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. Elas não estão associadas a janelas do navegador Chrome. Consulte o Exemplo de estado de janela para ver uma demonstração dessas opções.
Tipos
AppWindow
Propriedades
-
contentWindow
Janela
A "janela" 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 incluem decorações. Essa propriedade é nova no Chrome 36.
-
outerBounds
A posição, o tamanho e as restrições da janela, que inclui decorações como a barra de título e o frame. Essa propriedade é nova no Chrome 36.
-
clearAttention
void
Preste atenção à 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 a atenção para a janela.
A função
drawAttention
tem esta aparência:() => {...}
-
foco
void
Focar a janela.
A função
focus
tem esta aparência:() => {...}
-
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 deixado quando ESC é pressionado solicitando a permissão
app.window.fullscreen.overrideEsc
e cancelando o evento chamando .preventDefault(), nos gerenciadores de keydown e keyup, da seguinte forma:window.onkeydown = window.onkeyup = function(e) { if (e.keyCode == 27 /* ESC *\/) { e.preventDefault(); } };
window.fullscreen()
vai fazer com que toda a janela fique em tela cheia e não exige um gesto do usuário. A API HTML5 de tela cheia também pode ser usada para entrar no modo de tela cheia (consulte APIs da Web para mais detalhes).A função
fullscreen
tem esta aparência:() => {...}
-
getBounds
void
DescontinuadoUsar innerBounds ou outerBounds.
Consiga 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 superior?
A função
isAlwaysOnTop
tem esta aparência:() => {...}
-
retorna
booleano
-
-
isFullscreen
void
A janela está em tela cheia? Isso será verdadeiro se a janela tiver sido criada ou colocada em tela cheia pelas APIs de tela cheia
AppWindow
ou HTML5.A função
isFullscreen
tem esta aparência:() => {...}
-
retorna
booleano
-
-
isMaximized
void
A janela está maximizada?
A função
isMaximized
tem esta aparência:() => {...}
-
retorna
booleano
-
-
isMinimized
void
A janela está minimizada?
A função
isMinimized
tem esta aparência:() => {...}
-
retorna
booleano
-
-
maximizar
void
Maximizar a janela.
A função
maximize
tem esta aparência:() => {...}
-
minimizar
void
Minimizar a janela.
A função
minimize
tem esta aparência:() => {...}
-
moveTo
void
Suspenso 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
Suspenso desde o Chrome 43Usar outerBounds.
Redimensione a janela para
width
xheight
pixels.A função
resizeTo
tem esta aparência:(width: number, height: number) => {...}
-
largura
number
-
altura
number
-
-
restore
void
Restaure a janela, saindo de um estado maximizado, minimizado ou de tela cheia.
A função
restore
tem esta aparência:() => {...}
-
setAlwaysOnTop
void
Defina 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
booleano
-
-
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).
A função
setVisibleOnAllWorkspaces
tem esta aparência:(alwaysVisible: boolean) => {...}
-
alwaysVisible
booleano
-
-
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
-
altura
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
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
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.
-
largura
number
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
deixará uma restrição inalterada.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 para o conteúdo ou a janela. A largura ou altura mínima pode ser definida como
null
para remover a restrição. Um valor deundefined
deixará uma restrição inalterada.A função
setMinimumSize
tem esta aparência:(minWidth: number, minHeight: number) => {...}
-
minWidth
number
-
minHeight
number
-
-
setPosition
void
Define 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) => {...}
-
largura
number
-
altura
number
-
BoundsSpecification
Propriedades
-
altura
número opcional
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.
-
largura
número opcional
A largura do conteúdo ou da janela.
ContentBounds
Propriedades
-
altura
número opcional
-
esquerda
número opcional
-
superior
número opcional
-
largura
número opcional
CreateWindowOptions
Propriedades
-
alwaysOnTop
booleano opcional
Se verdadeiro, a janela ficará acima da maioria das outras janelas. Se houver várias janelas desse tipo, a que estiver em foco 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 (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 memorizados da janela serão usados.
-
foco
booleano opcional
Se 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 arrastáveis.no-drag
pode ser usada para desativar esse estilo em elementos aninhados.O uso de
FrameOptions
é novo no M36. -
booleano opcional
Se for verdadeiro, a janela será criada em um estado oculto. Chame show() na janela para mostrar depois que ele for criado. O padrão é "false".
-
ícone
string opcional
Chrome 54 ou superiorURL do ícone da janela. Uma janela pode ter o próprio ícone quando showInShelf está definido como verdadeiro. O URL precisa ser global ou um URL local de extensão.
-
id
string opcional
ID para identificar a janela. Ele 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, mas já existir outra com o mesmo ID, o foco será a janela aberta, 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 memorizados serão usados.O preenchimento entre os limites internos e externos é 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 como a barra de título e o quadro). Se um
id
também for especificado e uma janela com umid
correspondente tiver sido mostrada antes, os limites memorizados serão usados.O preenchimento entre os limites internos e externos é 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 for verdadeira, a janela será redimensionável pelo usuário. O padrão é verdadeiro (true).
-
showInShelf
booleano opcional
Chrome 54 ou superiorSe verdadeiro, a janela terá o próprio ícone de estante. Caso contrário, a janela será agrupada na estante com outras janelas associadas ao aplicativo. O padrão é "false". Se showInShelf for 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, 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 falsa.
-
estado
Estado opcional
O estado inicial da janela, que permite que ela seja criada já em tela cheia, maximizada ou minimizada. O padrão é "normal".
-
tipo
WindowType opcional
Chrome 45 ou superior Descontinuado desde o Chrome 69Todas as janelas de apps usam o "shell" tipo de janela
Tipo de janela a ser criada.
-
visibleOnAllWorkspaces
booleano opcional
Se verdadeira e compatível com a plataforma, a janela ficará visível em todos os espaços de trabalho.
FrameOptions
Propriedades
-
activeColor
string opcional
Permite definir a cor do frame da janela ativa. A cor do frame só estará disponível se o tipo dele for
chrome
.A cor do frame só estará disponível se o tipo dele for
chrome
.A cor das molduras é nova no Chrome 36.
-
cor
string opcional
Permite definir a cor da moldura. A cor do frame só estará disponível se o tipo dele for
chrome
.A cor das molduras é nova no Chrome 36.
-
inactiveColor
string opcional
Permite que a cor do frame da janela inativa seja definida de maneira diferente da cor ativa. A cor do frame só estará disponível se o tipo dele for
chrome
.inactiveColor
precisa ser usado comcolor
.A cor das molduras é nova 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.
Enumeração
"normal"
"tela cheia"
"maximizado"
"minimizado"
WindowType
Especifica o tipo de janela a ser criada.
Enumeração
"shell"
Tipo de janela padrão.
"panel"
Janela gerenciada do SO (descontinuado).
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
-
booleano
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
. Limites internos não incluem decorações de janela. Os limites externos incluem a barra de título e o frame da janela. O preenchimento entre os limites internos e externos é 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, você pode fornecer IDs a elas. Se uma janela tiver um ID, esse ID 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, poderá criá-la escondida, movê-la para o local desejado e mostrá-la.
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 versões mais recentesAs promessas só têm suporte no Manifesto 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, objeto "window" 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 | indefinido
get()
chrome.app.window.get(
id: string,
)
Recebe um AppWindow
com o ID fornecido. Se não existir uma janela com o ID fornecido, o valor nulo será retornado. 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 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. Isso deve ser ouvido em uma janela diferente da janela que está sendo fechada, por exemplo, na página de fundo. Isso ocorre porque a janela que será fechada estará no processo de eliminação quando o evento for disparado, o que significa que nem todas as APIs no contexto do script da janela funcionarão.
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 está em tela cheia (por meio das 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 está sendo minimizada ou maximizada.
Parâmetros
-
callback
função
O parâmetro
callback
tem esta aparência:() => void