我们的网站有ifame链接到用于进行在线考试的不同内容网站 内容页面中的一些考试运行时间超过3小时 考试后卫也可以防止用户在参加考试时做其他事情
问题是,一旦用户完成3 + hrs的考试并进入父站点(我们的站点) 它在父页面中有会话超时问题,(父站点会话超时设置为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);
}
});
};
现在的问题是,如果一个用户打开父网站并离开它会使会话不受欢迎,
有关捕获空闲时间的任何建议吗?
答案 0 :(得分:2)
我们可以使用“mousemove”事件并查看用户是否处于活动状态。
我使用以下代码测试用户空闲时间是否达到最大空闲时间。
function checkIdleTimeOut() {
userIdleTime++;
if( userIdleTime >= maxIdleTime ) {
alert("Reached max User Idle Time");
clearInterval(intvl);
}
$("#output").html( "userIdleTime: " + userIdleTime );
}
我提供了一个示例演示,其中最大空闲时间设置为5秒。
演示