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 }