3、页面长时间未操作跳转到登录页

1、用定时器检测未操作时长,超过设定时间进行页面跳转;

2、登录页

1 sessionStorage.removeItem("tunerSession")//初始化时清除session
2 
3 
4 //登录成功记录时间
5 sessionStorage.setItem("tunerSession", new Date().getTime())

 

3、检测操作页面

 1 var timer = null;
 2 $(document).on("mousemove", function(){
 3  clearTimeout(timer);
 4  sessionStorage.setItem("tunerSession", new Date().getTime());
 6  timer = setTimeout(function(){
 7  let lastTime = new Date().getTime(); //更新操作时间
 8         //console.info("lastTime", lastTime)
 9         sessionStorage.setItem("tunerSession", lastTime);
10  }, 200)
11         
12 })    

 

4、由于历史记录的存在,会导致页面可以回退,所以在登录页初始化的时候清除sessionStorege;然后在操作也进行判断sessionStorage是否存在,不存在就进行跳转到登录页

 1 (function(){
 2   if(!sessionStorage.getItem("tunerSession")){//如果没有,跳转到登录页
 3     location.replace("/userAction_loginUI.action")
 4   }else{//登录成功,开启定时
 5             _interval_handler = setInterval(checkExpired, 2*1000);//2秒钟检查一次,是否超时
 6         };
 7     })();
 8     function checkExpired() {
 9         var storeLastTime = sessionStorage.getItem("tunerSession");
10         //console.info((new Date()).getTime() - storeLastTime)
11         if((new Date()).getTime() - storeLastTime > _EXPIRE_TIME) {//过期了
12             //删除sessionStorage信息
13             sessionStorage.removeItem("tunerSession")
14             //退出循环
15             clearInterval(_interval_handler);
16             location.replace("/userAction_loginUI.action")
17         }
18     }

 

posted @ 2020-03-26 14:49  是假小发不是桂  阅读(695)  评论(0)    收藏  举报