Вопрос про window.onbeforeunload
Друзья прошу помочь с одним моментом, вот код
window.onbeforeunload = function (e) {
e = e || window.event;
// For IE and Firefox prior to version 4
if (e) {
e.returnValue = 'Sure?';
}
// For Safari
return 'Sure?';
};
Все отлично работает, при закрытие и при обновление, но это функция работает еще когда я отправилю POST через form, как мне сделать так что бы всплывющее окно не вылезал при переходе на другую страницу или при отправке post.
Или сделать так что бы только при обновление и закрытие страницы запрашивал потверждения.
Ответы (1 шт):
Автор решения: NoSkill
→ Ссылка
Наверное надо отменять ваше действие при отправке формы. Например так, как показано ниже. Также имейте в виду, отмена выгрузки страницы считается дурным тоном и должна производится только в исключительных ситуациях.
var cancelUnloadEvent = false;
form.onsubmit = function() {
cancelUnloadEvent = true;
}
window.onbeforeunload = function (e) {
if (!cancelUnloadEvent) {
e = e || window.event;
// For IE and Firefox prior to version 4
if (e) {
e.returnValue = 'Sure?';
}
// For Safari
return 'Sure?';
}
};