Javascript 检测浏览器关闭事件

Javascript 检测浏览器关闭事件,javascript,browser,cross-browser,onbeforeunload,Javascript,Browser,Cross Browser,Onbeforeunload,我想捕获浏览器窗口/选项卡关闭事件。我尝试了以下方法,但不起作用: <script type="text/javascript"> window.onbeforeunload = function(){ myUnloadEvent(); } function myUnloadEvent() { alert ('Calling some alert messages here'); } </script> <body> Body of the page

我想捕获浏览器窗口/选项卡关闭事件。我尝试了以下方法,但不起作用:

<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>

window.onbeforeunload=函数(){myUnloadEvent();}
函数myUnloadEvent(){
警报(“在此处调用一些警报消息”);
}
页面正文在这里。
也尝试了这些链接,但没有成功





问题:

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

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


我们将非常感谢您的帮助。谢谢

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

window.onbeforeunload = myUnloadEvent;
function myUnloadEvent() {
    console.log("Do your actions in here")
}
卸载前不允许发出警报-如果已打开“保留日志”,您将看到:

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

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

您不能在
onbeforeuload上显示
警报()。您需要
返回
以显示
确认对话框

<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>

window.onbeforeunload=函数(e){
return“在此处调用一些警报消息”;//return not alert
}
页面正文在这里。
也不要像那样调用
函数
,直接在
onbeforeunload
return myUnloadeEvent()中写入这取决于您在卸载之前在
中尝试执行的操作。尽量不要进行任何AJAX调用,因为浏览器可能不会运行脚本。您可以取消设置web存储变量、删除会话等


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

用户说“我只想检测浏览器关闭事件,并在不向用户显示提示的情况下对此事件进行处理”,这意味着不会返回。另外,试着把它放在控制台中——什么也不会发生,因为你调用了MyUnloadeEvent,但没有返回它返回的内容,实际上什么也不做
return myUnloadevent()
会起作用。@emmaaah是的,但OP也声称这些方法没有被调用,因为它们没有看到警报,这是因为它们做得不对。@emmaaah。误读了那部分。代码已更新。它还取决于您在卸载之前在
中尝试执行的操作,因为浏览器可能会或可能不会破坏script@Zee. 因此,有任何方法只能检测浏览器关闭事件。因此,我可以执行一些操作。我不想向用户显示任何对话。@zee如您所说,“尽量不要进行任何AJAX调用,因为浏览器可能不会运行脚本”。是的,我同意那些有时工作有时不工作的观点。我的要求是在每次页面重新加载或浏览器关闭时调用AJAX请求,并在没有警报框的情况下调用事件等。我应该使用什么方法?@emmaaaah。因此,有任何方法只能检测浏览器关闭事件。因此,我可以执行一些操作。我不想向用户显示任何对话。