繁体   English   中英

检测浏览器关闭事件

[英]Detect browser close event

我想捕获浏览器窗口/选项卡关闭事件。 我已经尝试了以下方法,但是没有用:

<script type="text/javascript">
window.onbeforeunload = function(){ myUnloadEvent(); }
function myUnloadEvent() {
    alert ('Calling some alert messages here');
}
</script>
<body>
Body of the page goes here.
</body>

尝试了这些链接,但没有成功。

javascript检查浏览器窗口何时关闭
如何捕获浏览器窗口关闭事件?
javascript检测浏览器关闭选项卡/关闭浏览器
尝试检测浏览器关闭事件

问题:

我只想检测浏览器关闭事件并对其进行一些处理,而不会向用户显示提示。

我尝试了许多方法来通过jQuery或JavaScript检测浏览器关闭事件。 但是不幸的是我无法成功。 onbeforeunload和onunload方法也不起作用。

任何帮助将不胜感激。 谢谢

您不能在onbeforeunload上显示alert() 您需要return以显示confirm dialog

<script type="text/javascript">
window.onbeforeunload = function(e){  
  return 'Calling some alert messages here'; //return not alert
}
</script>
<body>
Body of the page goes here.
</body>

也不要调用类似的function ,直接在onbeforeunload编写或return myUnloadEvent(); 这取决于您要在onbeforeunload内部执行的操作。 尝试不要进行任何AJAX调用,因为浏览器可能无法运行该脚本。 您可以取消设置Web存储变量,删除会话等。

另请注意,刷新页面时也会触发此事件。

您可以看到控制台在屏幕关闭之前快速写了该行。

window.onbeforeunload = myUnloadEvent;
function myUnloadEvent() {
    console.log("Do your actions in here")
}

在beforeunload期间不允许出现警报-如果您打开了Preserve日志,则会看到以下信息:

Blocked alert('Calling some alert messages here') during beforeunload.

但是,如果使用console.log命令,它将通过。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM