【发布时间】:2012-09-28 00:39:20
【问题描述】:
我有一个需要登录的应用程序,还有一个 AJAX 计时器。我已经阅读了几篇关于如何在一段时间后创建会话超时的文章。但是,如果用户在 5 分钟内没有点击某个按钮,我希望会话结束。有没有办法在每次点击后重置计时器?
【问题讨论】:
我有一个需要登录的应用程序,还有一个 AJAX 计时器。我已经阅读了几篇关于如何在一段时间后创建会话超时的文章。但是,如果用户在 5 分钟内没有点击某个按钮,我希望会话结束。有没有办法在每次点击后重置计时器?
【问题讨论】:
试试这个:
function logout() {
location.href = '/your/logout/page.aspx';
}
var timeout = setTimeout(300000, logout);
function resetTimeout() {
clearTimeout(timeout);
timeout = setTimeout(300000, logout);
}
document.onclick = resetTimeout;
【讨论】:
您可以在页面加载时设置一个 javascript 计时器(使用 setTimeout),该计时器会在每次回发时重置(并且可以选择通过单击不回发的按钮),并且当该计时器倒计时至零时将重定向到处理清除会话的 logout.aspx(例如:window.location='Logout.aspx'),然后重定向回登录页面。
【讨论】: