如何检测会话何时结束
How to detect when a session ends
是否有一种方法可以检测到当有人离开你的网站?到目前为止,我知道使用ignore_user_abort()
,但这是我所能得到的。
我需要知道这一点的原因是因为我需要一个脚本在有人离开网站时执行。
在数据库中为每个用户记录时间戳,并在每次加载页面时(或通过AJAX)更新此时间戳。
当最后一次更新的时间戳超过一定时间(30分钟?),你可以认为他们已经离开了网站,然后做你的代码,然后删除条目。
- 想法:一个"用户"可以是一个主键,由他们的IP和用户代理组成,例如MD5哈希。
1)我已经找到了会话超时警告PHP示例与jQuery/JS文章
2) PHP线程超时
3)还有关于如何使用jQuery和ColdFusion的文章
我可以很容易地使用javascript,检查这个解决方案
<body onbeforeunload="winCloseFunc();"> =)
由于http的无状态特性,没有一种简单的方法可以判断用户何时离开站点。当他们离开一个页面时触发onUnload是可能的,但是当他们在你的网站上从一个页面导航到另一个页面时也会触发。
- Mozilla的Ref: https://developer.mozilla.org/en/DOM/window.onunload
- MS的Ref: http://msdn.microsoft.com/en-us/library/ms536907(v=vs.85).aspx
正常情况下,当用户在X分钟内没有出现时,会话设置为过期。
相关文章:
- Flash Uploadify在调用我的MVC控制器时没有保留会话/授权
- 浏览器何时记录历史记录
- 验证会话中是否存在对象's数组
- 为什么要对define.md和module.exports进行条件检查,以及条件何时通过
- 让javascript知道epub3电子书中何时播放媒体覆盖
- 如何判断何时将dom节点添加到文档中
- 通过javascript从会话中提取用户名
- 将会话变量从一个页面传递到另一个页面
- 如何保持会话的活力
- Codeigniter会话概念简要说明
- Php未获取会话的最新值
- 当达到codeigniter/tank auth会话超时时,在ajax调用中处理php重定向
- 如何检测用户是否在同一会话中打开了多个窗口或选项卡
- 如何确定Vue何时完成DOM更新
- Express.js和multer:如何知道文件何时全部上传
- PHP会话页面刷新不起作用
- 何时可以;我的用户脚本在Javascript中触发右键单击(上下文菜单)
- 会话存储何时实际清除
- JavaScript 会话何时过期?如何在会话结束时删除 Cookie
- 如何检测会话何时结束