BeforeUnloadEvent

Событие 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.
});

Совместимость браузеров

BCD tables only load in the browser

Смотрите также