2016-10-03 95 views
0

我開發了一個登錄頁面。我在登錄時將sessionId保存在本地存儲中,我想在一段時間後清除它。但是,如果某人(登錄用戶)在一段時間內不活躍。如果他活躍,我不想清楚。但我做到了,即使他也是活躍的,我正在清理本地存儲。請幫助知道如何捕捉他活躍與否。如何捕捉事件以清除Cookie?

 localStorage.setItem('userId', data.id); 
     localStorage.setItem('user', data.phone); 
     localStorage.setItem('sessionId', (Math.random()*1e64).toString(36)); 
     var interval = setInterval(function(){ 
      console.log('In localStorage'); 
      localStorage.removeItem('sessionId'); 
      clearInterval(interval); 
      alert('Session expired!!') 
     }, (30*60*1000)); 
+1

[JavaScript中檢測空閒時間優雅]的可能的複製(http://stackoverflow.com/questions/667555 /檢出空閒時間功能於JavaScript的優雅) –

回答

0

你可以只檢查使用setInterval

var idleTime = 0; 
$(document).ready(function() { 
    //Increment the idle time counter every minute. 
    var idleInterval = setInterval(timerIncrement, 60000); // 1 minute 

    //Zero the idle timer on mouse movement. 
    $(this).mousemove(function (e) { 
     idleTime = 0; 
    }); 
    $(this).keypress(function (e) { 
     idleTime = 0; 
    }); 
}); 

function timerIncrement() { 
    idleTime = idleTime + 1; 
    if (idleTime > 19) { // 20 minutes 
     localStorage.removeItem('sessionId'); 
    } 
} 

回答here