不断刷新页面的session超时控制
- - Web前端 - ITeye博客注:原创作品,转载请注明出处. 1,在页面元素加载之前,定义js计时器,并赋值为0;. 2,在页面元素加载之前,绑定body的鼠标单击事件处理函数--每次鼠标单击body都重新赋值计时. 3,在html中body中定义一个隐藏域,值为服务器上session的最大时间. 4,在页面元素加载完毕后,启动session超时监听器:该监听器实现的功能是:.
<html> <head> <script type="text/javascript"> //定义计时器 var monitorCount = 0; //绑定body的onclick处理函数 document.body.onclick = function() { if(typeof bodyOnClickFunction == 'function') { bodyOnClickFunction(); } } //body的单击处理函数 function bodyOnClickFunction() { resetTimeoutCount(); } //重置计数器为0 function resetTimeoutCount() { monitorCount = 0 } var timeOutFunction = "sessionTimeOutMonitor()"; function sessionTimeOutMonitor() { var sessionTimeCount = document.getElementById("sessionTimeCount").value / 60; if(monitorCount < sessionTimeCount) { monitorCount++; setTimeOut(sessionTimeOutMonitor,60 * 1000); } else { //调用ajax或者dwr调用使后台的session失效 } } </script> </head> <body onload="sessionTimeOutMonitor();"> <input type="hidden" value="从服务器上获取session的最大超时数值" id="sessionTimeCount"/> </body> </html>