2010-09-29 129 views

回答

2

您可以改用setInterval - 继续运行。如果您需要一次性解决方案,请使用clearInterval删除定时器。 setInterval将立即启动,如果计算机睡着了,而事件应该被解雇。我在Chrome,Firefox和Internet Explorer中测试了这种行为。作为一个例子,请看http://blaeul.de/de/content/javascript-timer-test及其来源。

3

当Chrome进入后台时,它会冻结JavaScript执行。当它最小化到Dock在OS X


有,据我知道有没有解决办法,我注意到这个图纸上。如果你告诉我们你想做什么,那么可能会有一些可以做的事情。

+0

我尝试通过ajax调用为服务器轮询每10秒获取一次新数据(数据库中的新更新)。我不知道当Windows唤醒时,gmail如何能够继续工作。 – Dave 2010-09-29 18:41:21

+1

@Dave:首先投票是*可怕*应该是最后的手段。试试[WebSockets](http://joshuakehn.com/blog/view/2/WebSocket-Tutorial-with-Node-js)。另外我猜测Google会提供某种检查代码来重新创建间隔。 – 2010-09-29 18:50:57

+4

@JoshK - Websocket支持还不够宽;而且更普遍的Comet/long-poll方法并未得到所有网络服务器的支持。 – jlarson 2012-01-11 16:45:03