【问题标题】:Capture user Idling using javascript使用 javascript 捕获用户空闲
【发布时间】:2014-02-06 06:34:25
【问题描述】:

我们的网站有指向不同内容网站的 ifame 链接,这些网站用于进行在线考试 内容页面中的一些考试运行时间超过 3 小时 还有考试警卫可以防止用户在考试时做其他事情

问题是,一旦用户完成了超过 3 小时的考试并来到父站点(我们的站点) 它在父页面中存在会话超时问题,(父站点会话超时设置为 180 分钟)

作为解决方案,我们已经实现了以下 JQuery

    var to;
    $(document).ready(function () {
        to = setTimeout("TimeOut()", 10000);
    });

    function TimeOut() {
        $.ajax({ type: "POST",
            url: "KeepAliveDummy.aspx", success: function () {
                to = setTimeout("TimeOut()", 10000);
            }
        });
     };

现在的问题是,如果一个用户打开父站点并离开,它将不必要地保留会话,

对捕获空闲时间有什么建议吗?

【问题讨论】:

    标签: javascript jquery asp.net iis-7 session-timeout


    【解决方案1】:

    我们可以使用“mousemove”事件来查看用户是否处于活动状态。

    我已经使用下面的代码来测试用户空闲时间是否达到了最大空闲时间。

      function checkIdleTimeOut() {
            userIdleTime++;
            if( userIdleTime >= maxIdleTime ) {
                alert("Reached max User Idle Time");
                clearInterval(intvl);
            }
            $("#output").html( "userIdleTime: " + userIdleTime );
    }
    

    我提供了一个示例演示,其中最大空闲时间设置为 5 秒。

    JSFiddle Demo的演示

    【讨论】:

      猜你喜欢
      • 2011-05-05
      • 2011-09-23
      • 1970-01-01
      • 2015-02-14
      • 2013-03-28
      • 2010-10-11
      • 2015-01-25
      • 2023-03-27
      • 1970-01-01
      相关资源
      最近更新 更多