我尝试使用此代码在 15 分钟后自动注销。 但这不能正常工作。我离开我的 comp 15 分钟,但什么也没发生。它保持登录状态。
但另一方面,如果我尝试更短的时间,例如 5 秒,它会完美运行...5 秒后它让我退出。
我不知道,问题/错误在哪里?
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();
});
最佳答案
您正在使用 getSeconds()
从 Date
对象获取秒数,它将总是返回一个介于0
和59
之间的整数。比较时间之间的差异而不是创建新的 Date
对象:
var secondsBetween = (lastAction.getTime() - firstAction.getTime()) / 1000;
if (secondsBetween >= (15 * 60)) {
logOut();
}
关于javascript - 超时注销(JavaScript,jQuery),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12244708/