如果能够详细说明就最好了,谢谢!
1.一段时间:设为10分钟。
2.用户重新登录:提示用户因为安全问题需要重新登陆。(类似支付宝提示用户重新登陆效果)
正确的检测当然必须以后端为准(session的过期机制)。但缺点是一般会在用户提交后才告知用户:你需要登录。显然体验不够好。
你更关心的是前端吧?(我是根据问题的标签来猜测的)
首先要定义:什么是“与网站没有交互”?
我建议的方案如下:
•只要网页失去焦点(window 的blur事件),就开始一个 setTimeout 来调用函数 checkSession
•如果网页重新获取了焦点(focus事件),则clearTimeout
•checkSession 函数用ajax默默地向后端请求检测session是否过期。如果是,则提醒用户重新登录
这个方案的优点是:足够简单
而缺点是:如果用户同时开了多个页面,那么经常看到重新登录的通告。
你可以进一步利用cookie来跨页面计时:只要有任意一个页面focus,那么clearTimeout
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。