在web前端项目中,需要实现一个需求1、记录用户登录登出行为2、用户关闭窗口则记录登出遇到一个问题没卡过去。就是怎么样监听到用户关闭了窗口?如何判断用户开了多个tab,关闭一个不属于登出行为?刷新页面时也不属于登出行为。没有很好的思路。求解
1 回答
斯蒂芬大帝
TA贡献1827条经验 获得超8个赞
换个思路,不用去监听浏览器本身.而是做个长链或者websocket就行了,这个和统计在线人数的道理一样.
至于所谓的判断用户开了多个tab,关闭一个不属于登出行为,你可以给每个用户做个特征比如user_id.
例如:
$userList[$uid]=0;
on('login')时,++$userList[$uid];//=1便是则首次登录
on('disconnect')时,--$userList[$uid];//=1便是最后一次断开
这样就完美了.
补充个突然想到的比喻:判断鱼儿上钩,不是去盯着鱼有没有张嘴,而是盯着线有没有动.
添加回答
举报
0/150
提交
取消