首页 新闻 会员 周边

关闭浏览器所触发的事件

0
悬赏园豆:20 [待解决问题]

我要做一个登录的首页,别人登录一次后数据库中isLogin字段为1,表示已登录,那么同样的账号就不能再次登录,要是注销以后,这个字段就改为0,下次依旧能登录。但是这样问题就来了,很多人不是点注销后退出浏览器的,而是没点注销就直接退出了浏览器,那么isLogin仍为1,下次就不能再登陆了。不知道有什么能控制关闭浏览器时触发一个事件,然后在这个事件里把isLogin设置为0。如果不用这个思想,还有什么能实现这个技术?

活着viva7的主页 活着viva7 | 初学一级 | 园豆:97
提问于:2010-12-17 20:26
< >
分享
所有回答(5)
0

可以用window.onbeforeunload ,只要是浏览器正常关闭、网络通畅 ajax回调就能正常。

不过不太好处理同时开了多个窗口和异常关闭。超时策略也得很好的控制

LittlePeng | 园豆:3445 (老鸟四级) | 2010-12-17 20:59
0

可以用登录时间 和登出时间来判断,数据库里用存储过程判断

爱研究源码的javaer | 园豆:930 (小虾三级) | 2010-12-17 22:21
0

关闭浏览器事件不能兼容所有浏览器的。你可以在数据库里设一个“在线时间”字段,用户登陆后的主页面用Ajax定期更新“在线时间”字段,这样如果在线时间超过一个周期的用户,就是已经退出登陆的了。

goding | 园豆:259 (菜鸟二级) | 2010-12-18 18:12
0

这种东西不靠谱的,比如停电了,你还能让电脑在停电前几秒做个事件出来么

Gray Zhang | 园豆:17610 (专家六级) | 2010-12-19 01:00
0

这种方法不好用,只能做为客户端的一种策略,而服务器端也要有备用策略,比如服务器也要存用户登陆状态,定时清楚。

Astar | 园豆:40805 (高人七级) | 2010-12-20 16:04
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册