HI,
如果我关闭我的标签,是否可以终止会话(注销)。如果你们已经实现了这个,请告诉我。
谢谢, 和Manish
答案 0 :(得分:2)
来自jQuery文档(.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一起存储。关闭该选项卡或窗口后,它们将会松开该会话。