2016-10-03 6 views
0

로그인 페이지를 만들었습니다. 로그인시 로컬 스토리지에 sessionId를 저장하고 잠시 후 삭제하고 싶습니다. 하지만 누군가 (로그인 한 사용자)가 얼마 동안 활동하지 않는 것입니다. 그가 활동적이라면, 나는 분명히하고 싶지 않습니다. 하지만 나는 그가 활동적 일지라도, 나는 지역 창고를 지우고있다. 그가 능동적인지 아닌지 잡는 방법을 알려주십시오.쿠키를 지우는 이벤트를 잡는 방법?

 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

[자바 스크립트에서 유휴 시간을 감지 우아]의 사용 가능한 복제 (http://stackoverflow.com/questions/667555/detection-idle-time-in-javascript-elegantly) –

답변

0

당신은 단지 setInterval 사용하여 확인할 수 있습니다 here에서 차용

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'); 
    } 
} 

대답을