【发布时间】:2014-09-28 05:22:59
【问题描述】:
我正在尝试检测用户点击的浏览器关闭按钮。因此,我在网上搜索后尝试了以下代码:=
<head>
<script type="text/javascript"
src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script>
$(window).bind('click', function(event) {
if(event.target.href)
$(window).unbind('beforeunload');
});
$(window).bind('beforeunload', function(event) {
return 'pls save ur work';
});
</script>
</head>
<body>
<a href="test2.cfm">reload</a>
</body>
这对于浏览器关闭和窗口选项卡关闭事件非常有效。这将在关闭两者时给出确认消息。
但我只想要浏览器关闭的消息。不在窗口标签关闭时。 有什么解决办法吗?
原因是我想检测浏览器关闭,因为只有在浏览器关闭时我想更新登录用户的一些数据并清除用户的会话。
我怎样才能做到这一点?
感谢和问候,
【问题讨论】:
-
不,我不认为有任何方法可以区分
beforeunload事件被触发的原因,无论是标签、窗口还是浏览器。 -
正如@DavidThomas 所说,没有办法做你想做的事,这是故意的。关闭浏览器时它起作用的唯一原因是因为 也 关闭了选项卡。
-
@All : 谢谢回复。
-
也许你可以通过制作浏览器扩展来做到这一点......但仍然没有什么意义。
-
我想检测浏览器是否关闭,因为只有在浏览器关闭时我才想更新登录用户的一些数据并清除用户的会话。
标签: javascript jquery html events