鍍金池/ 問答/HTML5  HTML/ 重新打開頁面 讓用戶重新登錄

重新打開頁面 讓用戶重新登錄

如何讓用戶關(guān)閉標(biāo)簽頁后,需要再次登錄才可以正常訪問。使用onbeforeunload 無法區(qū)分關(guān)閉和刷新,但后臺不想用關(guān)閉或刷新時(shí)修改session為5-10s過期時(shí)間,請求靜態(tài)資源后在把session正常延期;還有什么解決方案嗎?

回答
編輯回答
晚風(fēng)眠

cookie可以設(shè)置成頁面存在就有效,根據(jù)cookie判斷頁面是否關(guān)閉.

2017年11月14日 09:57
編輯回答
敢試

sessionStorage存一個(gè)值,進(jìn)來頁面的時(shí)候判斷一下這個(gè)值存不存在,不存在就是關(guān)閉標(biāo)簽頁后重開的,存在就是刷新。關(guān)閉標(biāo)簽頁后sessionStorage會銷毀

2017年9月22日 09:17
編輯回答
柒槿年

區(qū)分開刷新事件與關(guān)閉事件

一個(gè)判斷頁面是否真的關(guān)閉和刷新的好方法:

window.onbeforeunload=function (){
if(event.clientX>document.body.clientWidth && event.clientY < 0 || event.altKey){
     alert("你關(guān)閉了瀏覽器");
     // logout 請求,服務(wù)端清除session
}else{
     alert("你正在刷新頁面");
}
}
2018年4月2日 04:20
編輯回答
我以為

既然是 HTML5, 就用 sessionStorage 吧。關(guān)閉標(biāo)簽頁后自然失效。

2017年8月26日 19:09