0

会话完成后如何重定向到登录页面?代码应检查用户是否空闲了一段时间,然后执行任何其他客户端事件。如果发现这种情况,它应该检查会话超时,如果会话完成,则重定向到登录页面。

4

2 回答 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 回答