如何停止 onbeforeunload 的默认行为并执行我自己的功能 [重复]

Posted

技术标签:

【中文标题】如何停止 onbeforeunload 的默认行为并执行我自己的功能 [重复]【英文标题】:how to stop default behavior of onbeforeunload and do my own functionality [duplicate] 【发布时间】:2014-09-19 14:33:09 【问题描述】:

如何处理浏览器中的红色关闭图标和标签关闭。我需要在关闭浏览器时做一些功能。但它不应该影响刷新以及如何区分浏览器关闭图标和标签关闭图标。

【问题讨论】:

但我想停止 onbeforeunload 的默认行为并做我自己的功能...... 【参考方案1】:

试试这个:

window.onbeforeunload = function()
// your code goes here 

【讨论】:

我试过这个。默认情况下,它会显示一个弹出窗口,上面写着你想要“离开这个页面”或“留在这个页面上”我不需要这个弹出窗口,我想显示我自己的弹出窗口来代替默认值。它也可以刷新 是否通过显示代码来替换评论以显示您的弹出窗口? 有了这个,我们可以只传递将在默认弹出窗口中显示的文本,而不是我们不能做任何事情【参考方案2】:

我认为没有办法捕捉标签或窗口是否关闭。无论如何,您可以尝试访问 onunload 或 onbeforeunload 事件。

【讨论】:

我试过这个。默认情况下,它会显示一个弹出窗口,表示您想要“离开此页面”或“留在此页面上”我不需要这个弹出窗口,我想显示我自己的弹出窗口来代替默认值。它也可以刷新 无法编辑此对话框。您所能做的就是添加消息,就像您已经做的那样。见msdn.microsoft.com/en-us/library/ms536907%28VS.85%29.aspx 感谢 PForseberg 有没有办法在刷新页面时停止此事件 我们可以防止onbeforeunload吗? 如果什么都不返回,对话框不会弹出:window.onbeforeunload = function() return; ;另一方面,除了你不调用函数...

以上是关于如何停止 onbeforeunload 的默认行为并执行我自己的功能 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

Google chrome onbeforeunload iframe 的错误行为

如何覆盖 OnBeforeUnload 对话框并将其替换为我自己的?

JavaScript停止冒泡和阻止浏览器默认行为

停止 Chrome 的单击并按住/拖动图像默认行为

JavaScript停止冒泡和阻止浏览器默认行为

js 停止事件冒泡 阻止浏览器的默认行为(阻止超连接 #)