不断刷新页面的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>