笔记本电脑盖关闭时,Javascript settimeout计时器停止

时间:2015-10-09 10:17:22

标签: javascript settimeout

当我的系统进入休眠模式时,javascript计时器会停止倒计时,当它返回时,它会继续倒计时。

但我的问题是,当我的系统进入休眠模式时,我希望倒计时继续。是否有任何解决方案/解决方法来实现这一目标?

1 个答案:

答案 0 :(得分:4)

这不是一个真正的javascript问题。

关闭盖子时,笔记本电脑正在休眠,这意味着CPU已关闭,无法计算。

你有三个选择

1)关闭盖子时让笔记本电脑保持打开状态,或者不要关闭盖子

2)停止在客户端执行计时器任务,而只是在服务器上启动计时器。根据您要实现的目标,这可能相关也可能不相关,但这是了解用户打开盖子/打开浏览器/打开机器等的唯一方法。

3)重新处理你的代码,而不是使用说“等待十秒钟”的计时器,而是将其设置为使用绝对时间,如下所示(这是模糊的伪代码)证明我的意思,而不是一个有效的解决方案)

var targetTime;
var running = false;

startTimer(timeInSeconds)
{
    targetTime = now() + timeInSeconds;
    running = true;
}

while(running)
{
    if(now() > targetTime)
    {
        doTimerThings();
        running = false;  
    }
}

这不会使计时器正确,但在机器再次启动后会尽快启动。你可以改变你的逻辑以适应你希望如何处理这个问题(例如,如果计时器被解雇,处理方式会有所不同)

如果您需要在恰好间隔时间点亮计时器,它将无济于事......但是当计算机关闭时,这根本不可能。

相关问题