JavaScript:尝试在if语句中退出onbeforeunload函数

时间:2011-06-22 05:10:42

标签: javascript onbeforeunload

我在页面的head部分有以下JavaScript代码:

window.onbeforeunload =  function()
{var r=confirm("Really leave?");
if (r==true)
{
self.close;
}
else
{
break;
}} 

在'else'之后,我想要取消onbeforeunload的代码,这样当用户点击“取消”时,网页就不会退出。可以这样做吗?

1 个答案:

答案 0 :(得分:1)

出于安全原因,您无法修改浏览器默认onbeforeunload对话框的行为。

让对话处理'真的离开?'你的逻辑(它将生成按钮逻辑)。

你唯一可以修改的是消息本身(在某些浏览器中只是部分)和窗口应该出现的逻辑(例如,只有user made changes):

window.onbeforeunload = function() {
   return 'Your custom message why the user should not leave';
}

希望有所帮助。