利用session控制 長時間未操做自動退出登陸

作項目時,通常會考慮到長時間未進行操做,可以自動退出登陸。下邊就利用session來實現這一功能jquery

//採用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);
    }
  }
}
相關文章
相關標籤/搜索