BeforeUnloadEvent
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since июль 2015 г..
Want more support for this feature? Tell us why.
Событие beforeunload (en: перед_выгрузкой) происходит (непосредственно) перед выгрузкой окна, документа и их ресурсов.
Если присвоено ненулевое значение свойству returnValue Event, всплывает диалоговое окно: "Вы действительно хотите покинуть эту страницу?" (см. пример ниже). Если значение не присвоено, то событие не отображается. В некоторых случаях диалоговое окно всплывает только после взаимодействия пользователя с фреймом или любым встроенным фреймом. См. детали Browser compatibility
| Всплывающие окна | Нет |
| Возможность отмены | Да |
| Целевые Объекты | defaultView |
| Интерфейс | Event |
Примеры
window.addEventListener("beforeunload", function (event) {
event.returnValue = "\\o/";
});
//is equivalent to
window.addEventListener("beforeunload", function (event) {
event.preventDefault();
});
Webkit-based browsers не следуют спецификации диалоговых окон . Самый кросс-браузерный работающий пример выглядит примерно так: см. ниже.
window.addEventListener("beforeunload", function (e) {
var confirmationMessage = "\\o/";
(e || window.event).returnValue = confirmationMessage; //Gecko + IE
return confirmationMessage; //Webkit, Safari, Chrome etc.
});
Спецификации
| Specification |
|---|
| HTML> # the-beforeunloadevent-interface> |