基本上我正在做的是設置一個計時器註銷用戶過了一個小時後,但只有當用戶不活動,所以我想重新啓動計時器後,用戶做了任何活動(滾動,按鍵,mousemove,點擊)事情是,定時器不會重置或別的什麼這就是爲什麼在註銷功能,我想知道定時器實際上重置,這就是爲什麼我想知道計時器通過的時間。如何知道setTimeout剩下多少時間?
我正在使用JavaScript,任何幫助嗎?
基本上我正在做的是設置一個計時器註銷用戶過了一個小時後,但只有當用戶不活動,所以我想重新啓動計時器後,用戶做了任何活動(滾動,按鍵,mousemove,點擊)事情是,定時器不會重置或別的什麼這就是爲什麼在註銷功能,我想知道定時器實際上重置,這就是爲什麼我想知道計時器通過的時間。如何知道setTimeout剩下多少時間?
我正在使用JavaScript,任何幫助嗎?
如果這是一個「功能」 - 確保使用Javascript,但如果安全是您的目標,請使用服務器端,毫無疑問。
要編碼一些東西來跟蹤每一個可能發生的小變化,滾動,點擊,焦點,按鍵等,以確定用戶是否「閒置」,這將是一個很大的麻煩 - 所以這是一個主意,使用像erichydns idleTimer,jQuery插件:http://www.erichynds.com/jquery/a-new-and-improved-jquery-idle-timeout-plugin/
編輯:這將是更適合你:http://paulirish.com/2009/jquery-idletimer-plugin/
演示版這裏可以實時顯示用戶是否「空閒」或不是http://paulirish.com/demo/idle-timer
您可以使用下面的代碼克拉的setTimeout的:
var t = setTimeout(myFunction,100000);
clearTimeout(t); //clear the timeout
如果你想知道多少時間離開了,那麼你必須算秒左右;)
我這樣做正是 '代碼 功能reset_interval(){ \t 如果 {// 警報( 'F')(定時器!= NULL); currTime = new Date(); clearTimeout(timer); // clearInterval(timer); timer = null; //第二步:再次執行定時器
timer = setTimeout(auto_logout,timeBeforeLogOut); //完成了定時器
} }' –
Shaheer
2011-04-28 07:55:35
那麼你的錯誤是在其他地方的復位;)clearTimeout是做它的方式。有用。 – 2011-04-28 07:58:31
是肯定不知道在哪裏:( – Shaheer 2011-04-28 08:50:52
這不是通往事物的方式。您應該讓服務器上的會話超時。 – 2011-04-28 07:52:26
我將如何重置計時器呢? – Shaheer 2011-04-28 07:58:27