Если установить обработчик события beforeunload
, который возвращает true
или другое значение:
То при попытки пользователем перезагрузить страницу или закрыть окно или вкладку браузера, будет выводится сообщение:
Ранее можно было прописать свой текст, но из-за злоупотреблений эту возможность убрали.
Грамотное использование этого события – избежать случайного закрытия окна если пользователь начал заполнять форму. Сделать это можно на JQuery, повесив событие onchange
на все поля формы и удаление onbeforeunload
при её отправки.
set_onbeforeunload = function(){
return true;
};
$(document).ready(function(){
$(document).on('input', ':input', function() {
window.onbeforeunload = set_onbeforeunload;
});
$('form').submit(function(){
window.onbeforeunload = null;
});
});