我在页面顶部有以下JavaScript代码:

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


在“其他”之后,我想要可以取消onbeforeunload的代码,以便当用户单击“取消”时,该网页不应退出。能做到吗?

最佳答案

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

让对话处理“真的离开吗?”逻辑(将生成按钮逻辑)。

您唯一可以修改的是消息本身(在某些浏览器中仅是部分消息)和一个逻辑,如果该窗口完全出现(例如,仅当user made changes时):

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


希望能有所帮助。

关于javascript - JavaScript:尝试在if语句中退出onbeforeunload函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6435158/

10-12 06:28