chrome.app.window

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

    Descontinuado

    Usar innerBounds ou outerBounds

    Acessa os limites internos da janela como um objeto ContentBounds.

    A função getBounds tem esta aparência:

    ()=> {...}

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

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

    Usar outerBounds.

    Redimensione a janela para width x height pixels.

    A função resizeTo tem esta aparência:

    (width: number,height: number)=> {...}

    • largura

      number

    • altura

      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

    Descontinuado

    Usar innerBounds ou outerBounds

    Define os limites internos da janela.

    A função setBounds tem esta aparência:

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

  • 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

  • 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

    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.

  • largura

    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 de undefined 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 de undefined 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)=> {...}

    • largura

      number

    • altura

      number

BoundsSpecification

Propriedades

  • altura

    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.

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

    Descontinuado

    Usar 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 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 arrastáveis. no-drag pode ser usada para desativar esse estilo em elementos aninhados.

    O uso do FrameOptions é novo no M36.

  • oculto

    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 recente

    URL 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

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

    Essa propriedade é nova no Chrome 36.

  • maxHeight

    número opcional

    Descontinuado

    Usar innerBounds ou outerBounds

    Altura máxima da janela.

  • maxWidth

    número opcional

    Descontinuado

    Usar innerBounds ou outerBounds

    Largura máxima da janela.

  • minHeight

    número opcional

    Descontinuado

    Usar innerBounds ou outerBounds

    Altura mínima da janela.

  • minWidth

    número opcional

    Descontinuado

    Usar 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 da janela, como a barra de título e o frame). Se um id também for especificado e uma janela com uma id 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 e outerBounds 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 recente

    Se 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

    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, 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".

  • digitar

    WindowType (opcional)

    Chrome 45 ou mais recente Descontinuado desde o Chrome 69

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

  • cor

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

    A cor dos frames é uma novidade no Chrome 36.

  • digitar

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

Chrome 45 ou mais recente

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

Promessa
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

Retorna

  • Promise<AppWindow>

    Chrome 117 ou mais recente

    Promessas 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

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

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