onbeforeunload 不/不正确在 Javascript 中工作

Posted

技术标签:

【中文标题】onbeforeunload 不/不正确在 Javascript 中工作【英文标题】:onbeforeunload not/not correct working in Javascript 【发布时间】:2021-09-02 07:11:49 【问题描述】:

我正在尝试使用 onbeforeunload 或 onunload 事件,甚至在:

window.addEventListener('beforeunload', function()alert("3");, false); 

但它不起作用,无论是在 Chrome 还是在 Firefox 上,唯一有效的方法是下面的代码,但问题是它在加载开始时有效,而不是在页面关闭时,我花了更多超过 24 小时,我无法让它工作。

window.onbeforeunload  = closefct();
function closefct(e)
alert("5");
console.log("5");
return null

【问题讨论】:

你不能在onbeforeunload事件中提醒。 【参考方案1】:

我找到了这个问题的答案 使用以下代码

 window.onbeforeunload = function()     
     return"return"
 
<div>anything you want</div>

直接将其粘贴到您的脚本中。 在尝试设置适用于大多数浏览器的卸载事件时,最重要的是要知道:您不能使用 alert() 或 confirm(),但返回字符串将生成确认模式。所以写什么作为回报都没关系。 但是你不能在卸载时显示自定义警报希望它有帮助

【讨论】:

非常感谢,它现在可以工作了,但我还有另一个问题,我要做的是,当用户确认关闭此窗口时,所有其他窗口(从第一个通过javascript)自动关闭,但我认为我不能这样做:/ @ebm9991 你不能这样做,因为一旦打开一个窗口,它就是独立的,不能被另一个窗口中的任何 js 关闭 嗯好的,我明白了,非常感谢

以上是关于onbeforeunload 不/不正确在 Javascript 中工作的主要内容,如果未能解决你的问题,请参考以下文章

onbeforeunload事件两种写法及效果

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

检测用户离开页面的正确方法

捕获window.onbeforeunload确认对话框的结果

系统可能不会保存你所做的修改 onbeforeunload

js阻止页面刷新