【问题标题】:How to catch events to clear cookies?如何捕获事件以清除 cookie?
【发布时间】:2016-10-03 06:35:44
【问题描述】:

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

【问题讨论】:

标签: javascript dom-events


【解决方案1】:

你可以检查使用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

【讨论】:

    猜你喜欢
    • 2014-11-09
    • 1970-01-01
    • 1970-01-01
    • 2019-04-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-22
    相关资源
    最近更新 更多