我们可以覆盖页面离开确认对话框与自定义设计的对话框,如jquery UI对话框?
我试图将其实现为:
var warning=true;
var v_leavemsg=“确实要离开页面吗?”;Window.OnBeforeUnload=ConfirmExit;
函数confirmExit(){
if(warning){
//custom dialog函数调用
f_customdialog(v_leavemsg);
返回NULL;
}
}
函数f_customdialog(msg){
//例如,我们可以在这里使用带有“是”或“否”按钮的JQUERY对话框
报警(msg);
}
我不确定,但如果有办法,您将不得不在OnBeforeUnload
调用给定函数时停止代码执行。
我想到的是,您可以在第一次调用时返回false
并创建自定义对话框,如果用户想要离开网站,该对话框将触发OnBeforeUnload
事件,并使用更改的OnBeforeUnload
函数,默认情况下该函数将返回true。
这样您就可以“欺骗”默认行为。
问题是OnBeforeUnload
是同步的,而任何自定义对话框都不是同步的。它与本机对话一起工作,因为它是同步执行的。
但不确定这是否管用。