做项目时,一般会考虑到长时间未进行操作,能够自动退出登录。下边就利用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); } } }