我想捕获浏览器窗口/选项卡关闭事件。我尝试了以下但不工作:
<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 to check when the browser window is close
How to capture the browser window close event?
javascript detect browser close tab/close browser
Trying to detect browser close event
问题:
我只想检测浏览器关闭事件并对其进行一些处理,而不向用户显示提示。
我尝试了很多通过jQuery或JavaScript检测浏览器关闭事件的方法。但不幸的是,我无法成功。 onbeforeunload和onunload方法也无效。
任何帮助都将受到高度赞赏。感谢
答案 0 :(得分:1)
您无法在alert()
上显示onbeforeunload
。您需要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存储变量,删除会话等
还要注意刷新页面时也会触发此事件。
答案 1 :(得分:0)
您可以在屏幕关闭前看到控制台快速写入该行。
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命令,它将会通过。