--- title: beforeunload slug: Web/API/Window/beforeunload_event translation_of: Web/API/Window/beforeunload_event original_slug: Web/Events/beforeunload ---
Si es asignado un string a la propiedad del objeto Evento returnValue, una caja de dialogo aparece, preguntando al usuario que confirme que dejara la pagina(mirar el ejemplo de abajo). Algunos navegadores muestran el string devuelto en una caja de dialogos, otros muestran un mensaje fijo. Si no se provee ningun valor, el evento procede silenciosamente.
Nota:Para combatir pop-ups indeseados, los navegadores pueden no mostrar mensajes creados en manejadores del evento beforeunload a menos que se haya interactuado con la pagina, o incluso sin que se haya interactuado en nada con esta.
Burbujas | No |
Cancelable | Si |
Objetos de destino | defaultView |
Interfaz | {{domxref("Event")}} |
Propiedad | Tipo | Descripcion |
---|---|---|
target {{readOnlyInline}} |
{{domxref("EventTarget")}} | El evento objetivo(el objetivo superior en el arbol del DOM). |
type {{readOnlyInline}} |
{{domxref("DOMString")}} | El tipo de evento. |
bubbles {{readOnlyInline}} |
{{jsxref("Boolean")}} | El evento normalmente burbujea? |
cancelable {{readOnlyInline}} |
{{jsxref("Boolean")}} | Es posible cancelar el evento? |
returnValue |
{{domxref("DOMString")}} | El valor actual devuelto por el evento (el mensaje que se le mostrara al usuario). |
window.addEventListener("beforeunload", function (event) { event.returnValue = "\o/"; }); // es equivalente a window.addEventListener("beforeunload", function (event) { event.preventDefault(); });
Navegadores basados en WebKit no siguen las especificaciones para la caja de dialogos. Un ejemplo que funcione con distintos navegadores seria similar al siguiente:
window.addEventListener("beforeunload", function (e) { var confirmationMessage = "\o/"; e.returnValue = confirmationMessage; // Gecko, Trident, Chrome 34+ return confirmationMessage; // Gecko, WebKit, Chrome <34 });
A partir del 25 de Mayo del 2011, la especificion HTML5 establece que llamadas a los metodos {{domxref("window.alert()")}}, {{domxref("window.confirm()")}}, y {{domxref("window.prompt()")}}pueden ser ignoradas durante este evento.Mire las especificaciones de HTML5 para mas detalles.
Varios navegadores ignoran el resultado del evento y no le preguntan al usuario por confirmacion en absoluto. El documento siempre se descargara automaticamente. Firefox tiene un switch llamado dom.disable_beforeunload en about:config para habilitar este comportamiento.
Usando este manejador de evento tu pagina previene que Firefox cambie el cache de la pagina a uno en memoria bfcache. Mire Usando el almacenamiento en cache Firefox 1.5 para detalles.
Especificacion | Estado | Comentario |
---|---|---|
{{SpecName("HTML WHATWG", "indices.html#event-beforeunload", "beforeunload")}} | {{Spec2("HTML WHATWG")}} | |
{{SpecName("HTML5 W3C", "browsers.html#unloading-documents", "beforeunload")}} | {{Spec2("HTML5 W3C")}} | Definicion inicial |
Caracteristica | Chrome | Edge | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) |
---|---|---|---|---|---|---|
Soporte basico | {{CompatChrome(1.0)}} | {{CompatVersionUnknown}} | 1 | 4 | 12 | 3 |
Texto personalizado soporte removido | {{CompatChrome(51.0)}} | {{CompatNo}} | {{CompatGeckoMobile("44.0")}} | 38 | 9.1 |
Caracteristica | Android | Android Webview | Edge | Firefox Mobile (Gecko) | IE Phone | Opera Mobile | Safari Mobile | Chrome for Android |
---|---|---|---|---|---|---|---|---|
Soporte basico | {{CompatUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatUnknown}} | {{CompatUnknown}} | {{CompatUnknown}} | (no) defect | {{CompatVersionUnknown}} |
Texto personalizado soporte removido | {{CompatUnknown}} | {{CompatChrome(51.0)}} | {{CompatNo}} | {{CompatGeckoMobile("44.0")}} | {{CompatChrome(51.0)}} |