96 lines
2.8 KiB
Markdown
96 lines
2.8 KiB
Markdown
# Função `window.open`
|
|
|
|
> Abre uma nova janela e carrega uma URL.
|
|
|
|
Quando `window.open` é chamada para criar uma nova janela de uma página web, uma
|
|
nova instância de `BrowserWindow` será criada para a `url` e um proxy será
|
|
devolvido para o `window.open` para permitir que a página tenha controle
|
|
limitado sobre ele.
|
|
|
|
O proxy tem uma funcionalidade padrão implementada de forma limitada para ser
|
|
compatível com páginas web tradicionais. Para ter controle total de uma nova
|
|
janela, você deverá criar diretamente um `BrowserWindow`.
|
|
|
|
O `BrowserWindow` recém-criado herdará as opções da janela pai por padrão. Para
|
|
substituir as opções herdadas, você poderá defini-las na string `features`.
|
|
|
|
### `window.open(url[, frameName][, features])`
|
|
|
|
* `url` String
|
|
* `frameName` String (opcional)
|
|
* `features` String (opcional)
|
|
|
|
Retorna `BrowserWindowProxy` - Cria uma nova janela e retorna uma instância da
|
|
classe `BrowserWindowProxy`.
|
|
|
|
A string `features` segue o formato de um navegador padrão, mas cada recurso
|
|
(feature) tem de ser um campo das opções do `BrowserWindow`.
|
|
|
|
**Notas:**
|
|
|
|
* Integração com Node sempre estará desativada no `window` aberto se ela
|
|
estiver desativada na janela pai.
|
|
* Recursos fora do padrão (que não são manipulados pelo Chromium ou pelo
|
|
Electron) fornecidos em `features` serão passados para qualquer manipulador
|
|
de eventos `new-window` do `webContent` registrado no argumento
|
|
`additionalFeatures`.
|
|
|
|
### `window.opener.postMessage(message, targetOrigin)`
|
|
|
|
* `message` String
|
|
* `targetOrigin` String
|
|
|
|
Envia uma mensagem para a janela pai com a origem especificada ou `*` para
|
|
nenhuma preferência de origem.
|
|
|
|
## Classe: BrowserWindowProxy
|
|
|
|
> Manipula a janela de navegador filha
|
|
|
|
O objeto `BrowserWindowProxy` é retornado de `window.open` e fornece uma
|
|
funcionalidade limitada para a janela filha.
|
|
|
|
### Métodos de Instância
|
|
|
|
O objeto `BrowserWindowProxy` possui os seguintes métodos de instância:
|
|
|
|
#### `win.blur()`
|
|
|
|
Remove o foco da janela filha.
|
|
|
|
#### `win.close()`
|
|
|
|
Fecha forçadamente a janela filha sem chamar seu evento de descarregamento.
|
|
|
|
#### `win.eval(code)`
|
|
|
|
* `code` String
|
|
|
|
Avalia o código na janela filha.
|
|
|
|
#### `win.focus()`
|
|
|
|
Foca na janela filha (traz a janela para frente).
|
|
|
|
#### `win.print()`
|
|
|
|
Invoca o diálogo de impressão na janela filha.
|
|
|
|
#### `win.postMessage(message, targetOrigin)`
|
|
|
|
* `message` String
|
|
* `targetOrigin` String
|
|
|
|
Envia uma mensagem para a janela filha com a origem especificada ou `*` para
|
|
nenhuma preferência de origem.
|
|
|
|
Além desses métodos, a janela filha implementa o objeto `window.opener` sem
|
|
propriedades e com apenas um método.
|
|
|
|
### Propriedades de Instância
|
|
|
|
O objeto `BrowserWindowProxy` possui as seguintes propriedades de instância:
|
|
|
|
#### `win.closed`
|
|
|
|
Um booleano que é definido como true após a janela filha ser fechada.
|