重新打开页面 让用户重新登录

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

阅读 4.2k
4 个回答

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

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

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

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

window.onbeforeunload=function (){
if(event.clientX>document.body.clientWidth && event.clientY < 0 || event.altKey){
     alert("你关闭了浏览器");
     // logout 请求,服务端清除session
}else{
     alert("你正在刷新页面");
}
}

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

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题