仅针对浏览器关闭的确认消息。窗口标签关闭时没有

时间:2014-08-05 13:57:40

标签: javascript jquery html html5 events

我正在尝试检测用户点击的浏览器关闭按钮。因此,我在web:=

中搜索后尝试了下面的代码
<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>

这对浏览器关闭和窗口选项卡关闭事件非常有效。这将在关闭两者时给出确认消息。

但我只想在浏览器关闭时留言。不在窗口标签关闭时。 有什么解决方案吗?

原因是我想检测浏览器关闭,因为只有当浏览器关闭时我才想更新已登录用户的一些数据并清除用户的会话。

我怎样才能做到这一点?

谢谢&amp;的问候,

1 个答案:

答案 0 :(得分:1)

没有任何解决方案。 window属性不是绑定到真实窗口(就操作系统而言),而是绑定到它所运行的环境(实际上在现代浏览器中是一个选项卡)。例如,为什么在Chrome中存在名为sandbox的功能,其中崩溃选项卡不会影响其他选项卡。因此,关闭选项卡或关闭窗口不会对任何JavaScript函数产生任何影响。为什么在关闭整个浏览器窗口之前只想要警告?即使关闭标签,工作也会丢失!