不断刷新页面的session超时控制

注:原创作品,转载请注明出处


解决方案:
1,在页面元素加载之前,定义js计时器,并赋值为0;
2,在页面元素加载之前,绑定body的鼠标单击事件处理函数--每次鼠标单击body都重新赋值计时
器为0;
3,在html中body中定义一个隐藏域,值为服务器上session的最大时间。
4,在页面元素加载完毕后,启动session超时监听器:该监听器实现的功能是:
获取页面上隐藏域的session的最大超时时间,
比较计数器和session最大值,如果计时器的数值小于session的最大时间则,计数器+1,重新
调用session监听器, 如果计数器的数值大于等于session的的最大时间,则调用dwr或ajax
让后台的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>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值