chrome.app.window

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

    Descontinuado

    Use innerBounds ou outerBounds.

    Receba os limites internos da janela como um objeto ContentBounds.

    A função getBounds é assim:

    () => {...}

  • 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 43

    Use 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 43

    Use outerBounds.

    Redimensione a janela para widthxheight 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

    Descontinuado

    Use innerBounds ou outerBounds.

    Defina os limites internos da janela.

    A função setBounds é assim:

    (bounds: ContentBounds) => {...}

  • 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 de undefined 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 de undefined 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

    Descontinuado

    Use 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 ou chrome (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.

    O uso de FrameOptions é uma novidade no M36.

  • oculto

    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 recente

    URL 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

    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 um id 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 e outerBounds vai resultar em um erro.

    Essa propriedade é nova no Chrome 36.

  • maxHeight

    number optional

    Descontinuado

    Use innerBounds ou outerBounds.

    Altura máxima da janela.

  • maxWidth

    number optional

    Descontinuado

    Use innerBounds ou outerBounds.

    Largura máxima da janela.

  • minHeight

    number optional

    Descontinuado

    Use innerBounds ou outerBounds.

    Altura mínima da janela.

  • minWidth

    number optional

    Descontinuado

    Use innerBounds ou outerBounds.

    Largura mínima da janela.

  • outerBounds

    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 um id 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 e outerBounds 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 recente

    Se 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

    Descontinuado

    Nã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 69

    Todas 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 com color.

    A coloração de frames é uma novidade do Chrome 36.

  • tipo

    string opcional

    Tipo de frame: none ou chrome (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

Chrome 45 ou mais recente

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()

Promise
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

Retorna

  • Promise<AppWindow>

    Chrome 117 ou mais recente

    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 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

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

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