2012-07-02 42 views
0

後註銷後報警通知我有一個關於瀏覽器窗口關閉了一點問題,Jasvascript:活動和5分多鐘

基本上,我有我想要閒置15分鐘後關閉的頁面。我設法設定一個計時器,在閒置10分鐘後提醒窗口。

我需要的是,在計時器結束時,帶有可見倒計時的彈出/提示出現,並且從這裏用戶可以繼續他的會話或結束它。如果用戶沒有點擊繼續或忽略5分鐘以上的彈出窗口,彈出窗口和父窗口都將關閉。否則,如果用戶按下繼續彈出將關閉和主頁面刷新(從而再次啓動計時器)任何建議?這裏是我的代碼:

var idleTime = 0; 
    var activeTime = 0; 
    var warningFlag = 0; 
    var loginTime = new Date(); 
    var logoutTime = loginTime; 
    setInterval(function checkIdle() { 
     idleTime += 1; 
     activeTime += 1; 
      if(idleTime > 10) { 
      alert("You've been inactive for 10 \n minutes, are you still there ?\nYou logged in at " + loginTime); 
      warningFlag=1; 
     } 
     if((idleTime > 15) && (warningFlag==1)) { 
      alert("You've been logged out due to inactivity for 15 \n minutes? \nYou logged out at " + logoutTime); 
      window.close(); 
     } 
     window.onload = resetTimer; 
     document.onmousemove = resetTimer; 
     document.onkeypress = resetTimer; 
    },1000); 

    function resetTimer() { 
     idleTime = 0; 
    } 
+0

那麼你的代碼究竟是什麼「小問題」呢?它在哪裏失敗?它給你什麼錯誤? – j08691

+2

你必須面對的一個問題是alert()函數阻塞你的腳本的其餘部分^^(alert直到用戶接受警報纔會掛起所有代碼) – Johan

+0

不要使用alert(),因爲它是模態對話框,停止所有的JavaScript,直到用戶點擊它......這正是你不想要的:) –

回答

2

而不是警報窗口使用div的可見性隱藏/可見切換。該div應該包含另一個容器,div或span,用於顯示倒數時間。

+0

該div如何表現像警報? – CodeMonkey

+0

這可能是一個更好的解決方案。 –