如何捕获事件以清除cookie?

时间:2016-10-03 06:35:45

标签: javascript dom-events

我开发了一个登录页面。我在登录时将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 个答案:

答案 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

借来的答案