我想在用户有时闲置但不能做之后自动。我已经使用了以下javascript但没有发生任何事情我也在web配置中添加了会话超时但它也无法正常工作。请给我一些想法。
<script type="text/javascript">
var timer1, timer2;
document.onkeypress=resetTimer;
document.onmousemove=resetTimer;
function resetTimer()
{
document.getElementById('timeoutPopup').style.display='none';
clearTimeout(timer1);
clearTimeout(timer2);
// waiting time in minutes
var wait=10;
// alert user one minute before
timer1=setTimeout("alertUser()", (60000*wait)-1);
// logout user
timer2=setTimeout("logout()", 60000*wait);
}
function alertUser()
{
document.getElementById('timeoutPopup').style.display='block';
}
function logout()
{
window.location.href='Logout.aspx';
}
}
</script>
答案 0 :(得分:4)
setTimeout的第一个参数是一个函数句柄。 JS Timing
<script type="text/javascript">
var timer1, timer2;
document.onkeypress=resetTimer;
document.onmousemove=resetTimer;
function resetTimer()
{
document.getElementById('timeoutPopup').style.display='none';
clearTimeout(timer1);
clearTimeout(timer2);
// waiting time in minutes
var wait=10;
// alert user one minute before
timer1=setTimeout(alertUser, (60000*wait)-1);
// logout user
timer2=setTimeout(logout, 60000*wait);
}
function alertUser()
{
document.getElementById('timeoutPopup').style.display='block';
}
function logout()
{
window.location.href='Logout.aspx';
}
} </script>
答案 1 :(得分:0)
您可以通过在Web配置中添加以下代码来实现此目的:
<system.web>
<sessionState timeout="10"></sessionState>
</system.web>
此处timeout = 10表示10分钟后,会话将过期,因此将自动注销
答案 2 :(得分:-1)
我认为您可以使用html元标记
<meta http-equiv="refresh" content="30">
这将导致您的页面在30秒后刷新(根据需要更改时间),并且在刷新时您可以检查服务器端的会话,并可以按照您的需要执行逻辑。