超时注销(JavaScript,jQuery)

时间:2012-09-03 08:53:45

标签: javascript jquery timeout logout

我尝试使用此代码在15分钟后自动注销。 但这不能正常工作。我离开我的比赛15分钟,但没有任何事情发生。它仍然登录。

但另一方面,如果我尝试更短的时间,例如5s它的工作完美...在5s之后它会让我退出。

我不知道,问题/错误在哪里?

var int=self.setInterval(setLastAction,1000);

function setLastAction(){
    var lastAction = new Date();    
    var baz = new Date();
    baz.setTime(lastAction.getTime() - firstAction.getTime());
    baz = baz.getSeconds();

    if(baz >= (15*60)){
         logOut();      
    }
}

$(document).mousemove(function(){
    firstAction = new Date();
});

1 个答案:

答案 0 :(得分:5)

您使用getSeconds()获取Date对象的秒数,始终返回059之间的整数。比较时间之间的差异,而不是创建新的Date对象:

var secondsBetween = (lastAction.getTime() - firstAction.getTime()) / 1000;
if (secondsBetween >= (15 * 60)) {
     logOut();      
}