diff options
Diffstat (limited to 'files/pt-br/web/events/beforeunload')
-rw-r--r-- | files/pt-br/web/events/beforeunload/index.html | 106 |
1 files changed, 106 insertions, 0 deletions
diff --git a/files/pt-br/web/events/beforeunload/index.html b/files/pt-br/web/events/beforeunload/index.html new file mode 100644 index 0000000000..6d6034318c --- /dev/null +++ b/files/pt-br/web/events/beforeunload/index.html @@ -0,0 +1,106 @@ +--- +title: beforeunload +slug: Web/Events/beforeunload +translation_of: Web/API/Window/beforeunload_event +--- +<p>O evento <strong><code>beforeunload</code></strong> é disparado quando o <em>window</em>, o <em>document</em> e seus recursos estão prestes a ser descarregados.</p> + +<p>Quando uma <em>string</em> é atribuída na propriedade <code>returnValue</code> do <em>Event</em>, uma caixa de díalogo aparecerá solicitando ao usuário uma confirmação para sair da página (veja exemplo abaixo). Quando nenhum valor é fornecido, o evento é processado silenciosamente.</p> + +<table class="properties"> + <tbody> + <tr> + <td>Bubbles</td> + <td>Não</td> + </tr> + <tr> + <td>Cancelable</td> + <td>Sim</td> + </tr> + <tr> + <td>Target objects</td> + <td>defaultView</td> + </tr> + <tr> + <td>Interface</td> + <td>{{domxref("Event")}}</td> + </tr> + </tbody> +</table> + +<h2 id="Propriedades">Propriedades</h2> + +<table class="standard-table"> + <thead> + <tr> + <th scope="col">Propriedade</th> + <th scope="col">Tipo</th> + <th scope="col">Descrição</th> + </tr> + </thead> + <tbody> + <tr> + <td><code>target</code> {{readOnlyInline}}</td> + <td>{{domxref("EventTarget")}}</td> + <td>O evento alvo (the topmost target in the DOM tree).</td> + </tr> + <tr> + <td><code>type</code> {{readOnlyInline}}</td> + <td>{{domxref("DOMString")}}</td> + <td>O tipo de evento.</td> + </tr> + <tr> + <td><code>bubbles</code> {{readOnlyInline}}</td> + <td>{{jsxref("Boolean")}}</td> + <td>O evento é normalmente <em>bubble</em>?</td> + </tr> + <tr> + <td><code>cancelable</code> {{readOnlyInline}}</td> + <td>{{jsxref("Boolean")}}</td> + <td>É possível cancelar o evento?</td> + </tr> + <tr> + <td><code>returnValue</code></td> + <td>{{domxref("DOMString")}}</td> + <td>O valor de retorno do evento (a mensagem que será exibida ao usuário).</td> + </tr> + </tbody> +</table> + +<h2 id="Exemplos">Exemplos</h2> + +<pre class="brush:js;">window.addEventListener("beforeunload", function (event) { + event.returnValue = "\o/"; +}); + +// equivalente a +window.addEventListener("beforeunload", function (event) { + event.preventDefault(); +});</pre> + +<p>Navegadores baseados no WebKit não seguem a especificação para caixas de diálogo. Um exemplo que funcionaria na maioria dos navegadores seria aproximadamente o seguinte:</p> + +<pre class="brush: js">window.addEventListener("beforeunload", function (e) { + var confirmationMessage = "\o/"; + + e.returnValue = confirmationMessage; // Gecko, Trident, Chrome 34+ + return confirmationMessage; // Gecko, WebKit, Chrome <34 +});</pre> + +<h2 id="Notas">Notas</h2> + +<p>Quando este evento retorna um valor não vazio (<em>non-void</em>), é solicitada ao usuário uma confirmação para descarregar a página. Na maioria dos navegadores o valor retornado no evento é exibido como mensagem nessa confirmação. No Firefox 4 e versões anteriores a <em>string</em> retornada não é exibida para o usuário. Ao invés disso, o Firefox exibe a mensagem "Esta página está perguntanto se você deseja sair - é possível que as alterações feitas não sejam salvas." Veja {{bug("588292")}}.</p> + +<p>Desde 25 de maio de 2011 a especificação HTML5 define que chamadas aos métodos {{domxref("window.alert()")}}, {{domxref("window.confirm()")}} e {{domxref("window.prompt()")}} serão ignoradas durante este evento. Para mais detalhes veja a <a href="http://www.w3.org/TR/html5/webappapis.html#user-prompts">especificação HTML5</a> (em inglês).</p> + +<p>Note também que vários navegadores para celular ignoram o resultado deste evento (isso que dizer que eles não solicitam a confirmação do usuário). O Firefox possui uma configuração escondida em <em>about:config</em> que faz o mesmo. Em essência, isto significa que o usuário estará sempre confirmando que o documento pode ser descarregado.</p> + +<h2 id="Veja_também">Veja também</h2> + +<ul> + <li>{{Event("DOMContentLoaded")}}</li> + <li>{{Event("readystatechange")}}</li> + <li>{{Event("load")}}</li> + <li>{{Event("unload")}}</li> + <li><a href="http://www.whatwg.org/specs/web-apps/current-work/#prompt-to-unload-a-document" title="http://www.whatwg.org/specs/web-apps/current-work/#prompt-to-unload-a-document">Descarregando documentos — Confirmando para descarregar o documento</a> (em inglês)</li> +</ul> |