我使用了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中的警报弹出。 提前致谢。