下面代码的目的是,一旦if语句中的两个条件得到满足,promptForSavingFormData就会出现。幸运的是,这种情况正在发生,导航窗口出现在正确的时间。导航窗口正在打开,告诉用户他们可以使用或不使用这些选项的两个按钮选项继续保存。然而,问题在于,在用户甚至有机会单击导航窗口中的其中一个按钮之前,页面就错误地导航到用户尝试转到的页面。但是,在用户单击继续而不保存或在对话框窗口中继续并保存之前,这种情况不应该发生。为什么在用户与导航窗口交互之前,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();
}发布于 2019-12-24 02:09:16
我认为这个post会给你你想要的答案。
TLDR
// Enable navigation prompt
window.onbeforeunload = function() {
return true;
};
// Remove navigation prompt
window.onbeforeunload = null;https://stackoverflow.com/questions/59459506
复制相似问题