У меня есть система, в которой страница не должна закрываться/выгружаться до тех пор, пока не будет выполнено определенное условие. Это сделано для того, чтобы заставить персонал заполнить очень важную информацию.
Я знаю, что это НЕ является хорошей практикой пользовательского интерфейса, я полностью согласен, но в этом случае после долгих обсуждений это на 100% необходимо.
Я пробовал следующий код:
$(window).bind('beforeunload', function (event) {
cancelEvent(event);
stopEvent(event);
});
function cancelEvent(e) {
if (!e) e = window.event;
if (e.preventDefault) {
e.preventDefault();
} else {
e.returnValue = false;
}
}
function stopEvent(e) {
if (!e) e = window.event;
if (e.stopPropagation) {
e.stopPropagation();
} else {
e.cancelBubble = true;
}
}
Приведенный выше код не работает.
Есть ли способ убить событие выгрузки и сохранить отображаемую страницу?
Целевыми браузерами являются IE 7-9, поэтому даже если он не работает в современных браузерах, все будет в порядке.
Еще раз спасибо.