做項目時,一般會考慮到長時間未進行操作,能夠自動退出登錄。下邊就利用session來實現這一功能
//采用H5 sessionStorage,保存登錄信息的公共js,不采用jquery //目前僅為供給平台使用 var _EXPIRE_TIME=30*60*1000;//三十分鍾沒有操作,則注銷 var _interval_handler=-1; (function () { //先判斷是否登錄 cgpt_memberInfo為存在瀏覽器中的session信息 var memberObjStr = sessionStorage.getItem("cgpt_memberInfo"); if (memberObjStr) {//已登錄 //刷新最后使用時間 sessionStorage.setItem("cgpt_lastVisitTime", new Date().getTime()); _interval_handler=setInterval(checkExpired, 10*1000);//10秒鍾檢查一次,是否超時 } })(); function checkExpired() { console.log("10秒檢查一次是否過期"+window.location.href+"::"+new Date()); var storeLastTime=sessionStorage.getItem("cgpt_lastVisitTime")?sessionStorage.getItem("cgpt_lastVisitTime"):-1; if (storeLastTime==-1) cleareInterval(_interval_handler); else { if ((new Date()).getTime()-storeLastTime>_EXPIRE_TIME) { //過期了 //刪除sessionStorage信息 alert("由於您長時間未進行操作,系統已為您自動退出登錄"); sessionStorage.clear(); //把頁頭中的已登錄部分,改為需要登錄的樣子 document.location.reload();//刷新當前頁面 //退出循環 clearInterval(_interval_handler); } } }