如何让用户关闭标签页后,需要再次登录才可以正常访问。使用onbeforeunload 无法区分关闭和刷新,但后台不想用关闭或刷新时修改session为5-10s过期时间,请求静态资源后在把session正常延期;还有什么解决方案吗?
如何让用户关闭标签页后,需要再次登录才可以正常访问。使用onbeforeunload 无法区分关闭和刷新,但后台不想用关闭或刷新时修改session为5-10s过期时间,请求静态资源后在把session正常延期;还有什么解决方案吗?
区分开刷新事件与关闭事件
一个判断页面是否真的关闭和刷新的好方法:
window.onbeforeunload=function (){
if(event.clientX>document.body.clientWidth && event.clientY < 0 || event.altKey){
alert("你关闭了浏览器");
// logout 请求,服务端清除session
}else{
alert("你正在刷新页面");
}
}
13 回答12.9k 阅读
7 回答2.1k 阅读
5 回答1.4k 阅读
3 回答1.3k 阅读✓ 已解决
5 回答1.5k 阅读✓ 已解决
2 回答1.3k 阅读✓ 已解决
6 回答1.2k 阅读✓ 已解决
sessionStorage存一个值,进来页面的时候判断一下这个值存不存在,不存在就是关闭标签页后重开的,存在就是刷新。关闭标签页后sessionStorage会销毁