我正在测试setTimeout使用此测试的准确性.现在我注意到(正如预期的那样)setTimeout并不是非常准确,但对于大多数设备并不是非常不准确.现在,如果我在Chrome中运行测试并让它在后台标签中运行(那么,切换到另一个标签并在那里浏览),返回测试并检查结果(如果测试完成),它们会发生显着变化.看起来超时运行速度慢得多.在FF4或IE9中测试没有发生这种情况.
因此,看起来Chrome暂停或至少减慢了无法关注的标签中的javascript执行速度.关于这个问题在网上找不到多少.这意味着我们无法运行后台任务,例如使用XHR调用定期检查服务器,并且setInterval(我怀疑看到相同的行为setInterval,如果有时间,我会编写测试).
有没有遇到过这个?这种暂停/减速会有解决方法吗?你会把它称为一个错误,我应该这样提交吗?
我最近创建了一个HTML5画布动画(也使用Processing.js)。
问题是,当我将浏览器切换到其他选项卡时,动画将停止播放。
当用户位于与包含动画的选项卡不同的选项卡上时,如何允许动画继续播放?
示例:http: //jsfiddle.net/EyFTr/3/
如果切换选项卡,时钟将停止,但是如果您打开链接,则会打开一个新窗口并使该窗口模糊,时钟仍将移动。