我开发了一个登录页面。我在登录时将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));
答案 0 :(得分: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
借来的答案