如何检测会话何时结束

时间:2011-09-13 15:47:28

标签: php javascript

有没有办法检测有人离开您的网站?到目前为止,我知道使用ignore_user_abort(),但就我已经知道的那样。

我需要知道这个的原因是因为我需要一个脚本来执行离开网站的人。

4 个答案:

答案 0 :(得分:4)

在数据库中为每个用户记录一个时间戳,并在每次加载页面时(或通过AJAX)更新此时间戳。

如果上次更新的时间戳超过了剩余时间(30分钟?),您可以认为他们已离开网站并执行您的代码,之后删除该条目。

  • 想法:“用户”可以是由其IP和用户代理组成的主键,例如MD5哈希。

答案 1 :(得分:1)

答案 2 :(得分:0)

由于http的无状态特性,当有人离开网站时,没有一种简单的方法可以判断。它们可以在离开页面时触发onUnload,但是当它们在您网站上的页面之间导航时也会触发。

通常会话设置为在X分钟内未见到用户时过期。

答案 3 :(得分:0)

我可以使用javascript轻松完成,查看此解决方案

  <body onbeforeunload="winCloseFunc();"> =)