asp.net js检测登录超时验证用户状态

当用户登录超时后会通过layer.open弹出询问窗口,点击【确认】退出当前用户,点击【取消】保持当前用户登录,对弹出框无操作默认退出当前账号


<script>

      var lastTime = new Date().getTime();
      var currentTime = new Date().getTime();
      var timeOut = 15 * 60 * 1000; //设置超时时间: 15分
      $(function () {
          /* 鼠标移动事件 */
          $(document).mouseover(function () {
              lastTime = new Date().getTime(); //更新操作时间
          });
          // keydown();//键盘按键事件
          //$(document).onKeyDown(function () {
          //    lastTime = new Date().getTime(); //更新操作时间
          //})
      });


      function keydown() {
          $(document).onKeyDown(function () {
              lastTime = new Date().getTime(); //更新操作时间
          });
      }


      function testTime() {
          var cl=true;//登录超时验证是否取消
          currentTime = new Date().getTime(); //更新当前时间
          if (currentTime - lastTime > timeOut) { //判断是否超时
              layer.open({
                  content: '由于长期无操作,您的账号登录已超时,点击【确定】退出当前系统,点击【取消】保持当前登录状态!',
                  time: 30000,
                  btn: ['确定', '取消'], //可以无限个按钮


                  yes: function (index, layero) {
                      layer.close(index); //如果设定了yes回调,需进行手工关闭
                      //跳转链接
                     
                  },
                  btn2: function (index, layero) {
                      cl = false;
                      layer.close(index); //按钮【按钮二】的回调
                  },
                  end: function (index, layero) {
                      if (cl == true) {
                         //跳转链接
                      }else{}
                  }
              });

              // console.log("超时");
          }
      }

      /* 定时器  间隔1秒检测是否长时间未操作页面  */
      window.setInterval(testTime, 50000);


  </script>

猜你喜欢

转载自blog.csdn.net/u011189027/article/details/56489823