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