2014-02-06 42 views
1
怠速

我們的網站有ifame鏈接到這是用來做內容的網頁在線考試 一些考試不同內容的網站正在運行3小時以上 另外考試後衛是有防止用戶做其他的東西,而參加考試捕獲用戶使用JavaScript

問題是,一旦用戶完成了超過3 + hrs的考試並來到了父站點(我們的站點) 它在父頁面中有會話超時問題(父站點會話超時設置爲180min)

作爲解決方案,我們實施了以下JQuery

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

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

現在的問題是,如果一個用戶打開父網站和離開它會繼續不必要地會話,

任何建議,要捕獲的空閒時間?

回答

2

我們可以使用「mousemove」事件並查看用戶是否處於活動狀態。

我已經使用下面的代碼來測試用戶空閒時間是否達到最大空閒時間。

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

我提供了一個示例演示,其中最大空閒時間設置爲5秒。

演示在JSFiddle Demo

+0

@KRR難道我的方法爲你工作 –