素材牛VIP会员
重新打开页面 让用户重新登录
 阿***梦  分类:JavaScript  人气:820  回帖:4  发布于6年前 收藏

如何让用户关闭标签页后,需要再次登录才可以正常访问。使用onbeforeunload 无法区分关闭和刷新,但后台不想用关闭或刷新时修改session为5-10s过期时间,请求静态资源后在把session正常延期;还有什么解决方案吗?

讨论这个帖子(4)垃圾回帖将一律封号处理……

Lv6 码匠
sc***29 PHP开发工程师 6年前#1

既然是 HTML5, 就用 sessionStorage 吧。关闭标签页后自然失效。

Lv6 码匠
on***de JAVA开发工程师 6年前#2

区分开刷新事件与关闭事件

一个判断页面是否真的关闭和刷新的好方法:

window.onbeforeunload=function (){
if(event.clientX>document.body.clientWidth && event.clientY < 0 || event.altKey){
     alert("你关闭了浏览器");
     // logout 请求,服务端清除session
}else{
     alert("你正在刷新页面");
}
}
Lv4 码徒
23***om JS工程师 6年前#3

sessionStorage存一个值,进来页面的时候判断一下这个值存不存在,不存在就是关闭标签页后重开的,存在就是刷新。关闭标签页后sessionStorage会销毁

Lv4 码徒
L***灬 软件测试工程师 6年前#4

cookie可以设置成页面存在就有效,根据cookie判断页面是否关闭.

 文明上网,理性发言!   😉 阿里云幸运券,戳我领取