FF5和chrome setInterval()的解决方法,在非活动选项卡中的setTimeout()

时间:2011-08-04 15:14:18

标签: javascript firefox google-chrome settimeout setinterval

有js优化导致非活动标签减慢ff5和chrome中的setInterval()和setTimeout()。我将它设置为66毫秒,但它最多只有1000个标签处于非活动状态。

有一种方法可以确定标签处于非活动状态时经过了多长时间,但我需要js继续运行并执行操作,比如播放某些事件的声音。有没有办法实现这个目标?

2 个答案:

答案 0 :(得分:1)

这些钳位的重点是防止后台页面使用太多的CPU。什么事件,即使用户看不到标签,你究竟在15Hz还需要播放声音?

答案 1 :(得分:1)

Mozilla正在开发一种实现setInterval和setTimeout的不同方式,称为requestAnimationFrame,也许它可以帮助您解决问题,或者至少希望未来的更新可以解决问题。

请注意,这是一项实验性功能,请注意寻求跨浏览器支持时的限制。

https://developer.mozilla.org/en/DOM/window.mozRequestAnimationFrame