会话完成后如何重定向到登录页面?代码应检查用户是否空闲了一段时间,然后执行任何其他客户端事件。如果发现这种情况,它应该检查会话超时,如果会话完成,则重定向到登录页面。
问问题
1947 次
2 回答
0
检查网页上的不活动状态就像尝试监听大量事件一样。这也意味着如果有用户交互,函数(事件处理程序)将被调用很多次。如果此处理程序/函数将用于某些 ajax 发送/接收内容,那么它最终可能会使您的用户界面性能不佳。
为什么不缩短会话到期时间并在之后自动注销用户?这样,如果用户真正活跃,那么很可能会在该时间范围内请求页面。您还可以设置一个基于计时器的事件,该事件在触发时将简单地向服务器发送虚拟请求以刷新会话,以让服务器知道用户仍处于活动状态但尚未准备好请求另一个页面。这将是用户正在编辑长文本或类似内容的情况。
我希望它有所帮助。
于 2012-12-17T10:30:34.730 回答
0
5 分钟后会话注销
<sctipt>
var interval;
$(document).on('mousemove', function () {
clearInterval(interval);
var coutdown = 5 * 60, $timer = $('.timer'); // After 6 minutes session expired (mouse button click code)
$timer.text(coutdown);
interval = setInterval(function () {
$timer.text(--coutdown);
if (coutdown === 0) {
alert("Session expired User successfully logout.");
window.location = "UserLogin.aspx";
}
}, 1000);
}).mousemove();
var interval;
$(document).on('keydown', function () {
clearInterval(interval);
var coutdown = 7 * 60, $timer = $('.timer'); // After 6 minutes session expired (keyboard button press code)
$timer.text(coutdown);
interval = setInterval(function () {
$timer.text(--coutdown);
if (coutdown === 0) {
alert("Session expired User successfully logout.");
window.location = "UserLogin.aspx";
}
}, 1000);
}).mousemove();
<sctipt>
<div class="timer">
Time of session display on page
</div>
于 2019-09-17T09:34:56.013 回答