如果窗口被锁定,超时不会注销

时间:2017-12-07 10:47:21

标签: javascript timeout sleep

我最近一直在研究超时功能(使用javascript - setInterval)。我测试了它,它完全按照我想要的方式工作,除了一个小细节。每当登录用户睡眠计算机时,会话仍处于活动状态,并且超时会持续计算时间。因此,在唤醒PC之后,让我们说在40分钟后,超时表示例如-10分钟,用户仍然登录。如果他点击任何内容或刷新页面,服务将刷新并且超时正在重新启动到初始值,就像没有发生任何事情一样(用户仍然登录)。有没有办法确保在唤醒PC后用户将被注销?

提前多多感谢!

2 个答案:

答案 0 :(得分:0)

如果我理解你的问题,解决方案可能是在超时值为0时调用ajax中的脚本,这将注销用户,然后你可以刷新页面,javascript中的所有内容

答案 1 :(得分:0)

不要直接使用setTimeout / setInterval注销,也许可以尝试这样的事情:



[4 2 3 1]

var targetTime = moment(new Date()).add(5 ,'s');
var intervalHolder = {};
console.log("go")
intervalHolder.interval = setInterval(() => {
  if (moment(new Date()).isAfter(targetTime)) {
    console.log('TimedOut');
    clearInterval(intervalHolder.interval);
  }
},1000);