Когда пользователь уходит со страницы, мы можем спросить его, точно ли он хочет уйти. За это отвечает обработка события beforeunload. Событие происходит перед событием выгрузки страницы unload.
Есть страницы, на которых выполняется некоторая работа. Если эта работа не сохраняется, например, в localStorage, стоит защитить пользователя от фрустрации при возможной потере. В этом нам поможет обработка события beforeunload.
Обработка с помощью addEventListener:
window.addEventListener('beforeunload', function (event) {
// Отменяем поведение по умолчанию
event.preventDefault();
// Chrome требует наличия returnValue
event.returnValue = '';
})
При обработке этого события браузер покажет всплывающее окно, в котором нужно будет подтвердить своё намерение покинуть страницу.