为了账号安全,请及时绑定邮箱和手机立即绑定

web项目如何监听用户关闭浏览器tab、窗口事件

web项目如何监听用户关闭浏览器tab、窗口事件

芜湖不芜 2019-02-19 21:19:55
在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便是最后一次断开

这样就完美了.

补充个突然想到的比喻:判断鱼儿上钩,不是去盯着鱼有没有张嘴,而是盯着线有没有动.


查看完整回答
反对 回复 2019-02-24
  • 1 回答
  • 0 关注
  • 789 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信