作项目时,通常会考虑到长时间未进行操做,可以自动退出登陆。下边就利用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); } } }