我想在mozilla或IE 8.0或Chrome中关闭选项卡时注销

时间:2011-05-20 07:02:47

标签: php javascript html

HI,

如果我关闭我的标签,是否可以终止会话(注销)。如果你们已经实现了这个,请告诉我。

谢谢, 和Manish

3 个答案:

答案 0 :(得分:2)

来自jQuery文档(.unload()是相关浏览器功能的包装器):

http://api.jquery.com/unload/

  

卸载事件的确切处理因浏览器的版本而异。例如,某些版本的Firefox会在跟踪链接时触发事件,但不会在窗口关闭时触发。在实际使用中,应该在所有支持的浏览器上测试行为,并与专有的beforeunload事件进行对比。

换句话说,你需要另外一步来让它变得可靠:给你的会话一个非常短的超时,并在每个会话中反复ping你的服务器以保持它们的活着。

答案 1 :(得分:1)

使用Javascript onUnload事件来调用/ ping您的PHP注销页面:

$(window).unload(function() {
  // Send an Ajax request to logout.php
});

然而,CarlosCampderrós是对的:您可能不知道用户是否打开了多个标签,因此即使他们所做的一切都关闭了其中一个标签,您也有可能将其记录下来。

答案 2 :(得分:1)

创建会话,但不要将其与cookie一起存储。关闭该选项卡或窗口后,它们将会松开该会话。