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

    Descontinuado

    Usar innerBounds ou outerBounds.

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

    Suspenso 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

    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

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

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

    Descontinuado

    Usar 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 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 de FrameOptions é novo no M36.

  • oculto

    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 superior

    URL 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

    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 memorizados serão usados.

    O preenchimento entre os limites internos e externos é 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 como a barra de título e o quadro). Se um id também for especificado e uma janela com um id 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 e outerBounds 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 superior

    Se 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

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

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

    A cor das molduras é nova no 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 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

Chrome 45 ou superior

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

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

Retorna

  • Promise<AppWindow>

    Chrome 117 ou versões mais recentes

    As 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

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

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