BeforeUnloadEvent
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
Событие 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 Standard # the-beforeunloadevent-interface |
Совместимость с браузерами
BCD tables only load in the browser