提问者:小点点

onbeforeunload确认对话框可以用设计良好的自定义对话框自定义?


我们可以覆盖页面离开确认对话框与自定义设计的对话框,如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);
}


共1个答案

匿名用户

我不确定,但如果有办法,您将不得不在OnBeforeUnload调用给定函数时停止代码执行。

我想到的是,您可以在第一次调用时返回false并创建自定义对话框,如果用户想要离开网站,该对话框将触发OnBeforeUnload事件,并使用更改的OnBeforeUnload函数,默认情况下该函数将返回true。

这样您就可以“欺骗”默认行为。

问题是OnBeforeUnload是同步的,而任何自定义对话框都不是同步的。它与本机对话一起工作,因为它是同步执行的。

但不确定这是否管用。