Я использовал событие onbeforeunload
, чтобы показать окно предупреждения по умолчанию, когда пользователь пытается покинуть страницу.
Это диалоговое окно отображается в действии "Моя форма публикации".
Я использовал event.preventDefault()
(для браузеров, кроме Safari) и return null
для Safari, чтобы не показывать этот диалог в форме действия после публикации.Но это не работает в Firefox и IE.
Ниже приведен пример кода jquery
if (!isSafari) {
window.addEventListener("beforeunload", function (event) {
if (!hideDefaultAlert) {
event.returnValue = "Your unsaved changes will be lost";
} else {
event.preventDefault();
hideDefaultAlert = false;
}
});
} else if (isSafari) {
$(window).on("beforeunload", function () {
if (!hideDefaultAlert) {
return "Your unsaved changes will be lost";
} else {
hideDefaultAlert = false;
return null;
}
});
}
Пожалуйста, предоставьте решение для предотвращения этого предупреждения в Firefox и Safari.
Заранее спасибо.