window.onbeforeunload不正确地允许导航



下面的代码的目的是,一旦满足if语句中的2个条件,就会出现提示。幸运的是,这种情况正在发生,并且导航窗口出现在正确的时间。导航窗口正在打开,告诉用户他们可以使用 2 个按钮选项继续保存或不保存。但是,问题在于,在用户有机会单击导航窗口中的其中一个按钮之前,页面会错误地导航到用户尝试转到的页面。但是,在用户单击以继续而不保存或继续并在对话窗口中保存之前,不应发生这种情况。为什么 window.onbeforeunload 仍然允许此导航,直到用户与导航窗互?任何帮助将不胜感激。谢谢!

window.onload = function () {
// initialize
Sys.WebForms.PageRequestManager.getInstance().add_pageLoaded(pageLoadedTwo);
// Notify Microsoft Ajax
if (typeof (Sys) !== "undefined") Sys.Application.notifyScriptLoaded();
};
function pageLoadedTwo() {
window.onbeforeunload = checkIfFormInStudentWindow;
}
function checkIfFormInWindow(e) {
if (($("#searchWindow").is(':visible')) && (document.URL.indexOf('/NewForms/') > -1)) {
return promptForSavingFormData();
}
}
function promptForSavingFormData() {
navigationWindow.center();
navigationWindow.open();
}

我认为这篇文章会给你你想要的答案。

TLDR

// Enable navigation prompt
window.onbeforeunload = function() {
return true;
};
// Remove navigation prompt
window.onbeforeunload = null;

最新更新