我有一个依赖会话的经典ASP应用程序;如果用户使屏幕空闲然后运行表单帖子或其他操作,我想知道会话是否已过期。
目前我正在检查每个页面中的会话以查看它是否已超时,但是是否有更好的,动态的JavaScripty方法可以执行银行所做的事情,并通过通知超时会话并重定向登录?
答案 0 :(得分:2)
在页面的onload
事件期间,启动计时器,然后在N秒后重定向页面。
window.setTimeout
功能。window.location
。可重复使用示例:
<head>
<script type="text/javascript">
<!--
function redirect(url) {
window.location = url;
}
function beginSessionTimer() {
// 30000ms = 30s
window.setTimeout(redirect, 30000,
"http://www.yoursite.com/login.asp?session=clear");
}
//-->
</script>
</head>
<body onload='beginSessionTimer();'>
</body>
具有内联函数的快速脏例子:
<body onload='window.setTimeout(function(){
window.location="http://www.yoursite.com/login.asp?session=clear";},
30000);'>
请注意,如果您的页面执行任何AJAX调用,这会使会话保持活动状态,那么您将需要使用clearTimeout方法重置计时器(与对setTimeout的新调用相结合)。有关clearTimeout的详细信息,请click here获取Mozilla的优秀文档。)