【问题标题】:setTimeout is not working when Windows goes to sleep mode and then wake up当 Windows 进入睡眠模式然后唤醒时 setTimeout 不起作用
【发布时间】:2011-04-18 23:50:53
【问题描述】:

我在 Chrome 中注意到了这一点。有人知道出了什么问题或解决方法吗?

【问题讨论】:

    标签: javascript windows


    【解决方案1】:

    当 Chrome 进入后台时,它会冻结 JavaScript 执行。当它在 OS X 中最小化到 Dock 时,我在图纸上注意到了这一点。


    据我所知,没有解决方法。如果您告诉我们您正在尝试做什么,那么您可能会做一些事情。

    【讨论】:

    • 我尝试轮询服务器以获取每 10 秒通过 ajax 调用获取的新数据(数据库中的新更新)。我不知道 gmail 在 Windows 唤醒时实际上是如何成功地继续工作的。
    • @Dave:首先投票是可怕的,应该是最后的手段。试试WebSockets。我也猜想谷歌会放某种检查代码来重新创建间隔。
    • @JoshK - Websocket 支持还不够广泛;并且并非所有网络服务器都很好地支持更通用的 Comet/long-poll 方法。
    【解决方案2】:

    您可以改用setInterval - 它会继续运行。如果您需要一次性解决方案,请使用clearInterval 删除计时器。 setInterval 将在本应触发事件时计算机处于睡眠状态时立即触发。我在 Chrome、Firefox 和 Internet Explorer 中测试了这种行为。例如,查看http://blaeul.de/de/content/javascript-timer-test 及其来源。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-10-12
      • 2012-10-08
      • 1970-01-01
      • 1970-01-01
      • 2015-09-23
      相关资源
      最近更新 更多