2015-06-12 147 views
2

嗨,我试图清除所有的会话变量,当用户关闭选项卡, 我曾尝试以下如何在关闭浏览器选项卡时清除会话?

session_set_cookie_params(0); 
session_start(); 

但它清除只有当用户接近整个浏览器, 我有会话尝试搜索一些链接,但我发现不起作用。

+0

的[破坏会话时broswer片闭合]可能重复(http://stackoverflow.com/questions/10958769/destroy-session-when-broswer-tab-closed) – Qullbrune

+0

但具有没有被接受的答案,不是我需要的答案 –

+0

查看此答案。可能会帮助你。 http://stackoverflow.com/questions/18276226/clearing-session-variables-when-a-tab-is-closed#answer-18276579 – Sivabalan

回答

2

浏览器在整个浏览器进程退出时只会销毁会话cookie。没有可靠的方法来确定用户是否/何时关闭了选项卡。有一个onbeforeunload处理程序可以附加到,并希望设法做一个Ajax调用服务器说标签的关闭,但它是不可靠的。

如果用户在您的网站上打开两个或多个表格会怎么样?如果他们关闭了一个标签,那么即使用户完全打算继续使用您的网站,另一个标签也会被有效注销。

由:Marc b

相关问题