requestAnimationFrame
By admin
requestAnimationFrame的特点是在每帧渲染时调用,可以根据当前运行硬件大幅优化动画流畅度。还有一个隐形的特性就是只在当前窗口激活状态才会运行,这也是它可以节省计算资源的一大优势。
有些优化场景会有监听当前页面激活状态的需求,只有在当前页面激活时才定时请求后端数据来达到数据半即时更新的效果。
通常的解决方案都是监听“visibilitychange”事件,通过该事件的切换状态开启或关闭监听。例如如下代码
在原生支持requestAnimationFrame的浏览器上,可以通过该函数达到同样的效果,不用手动去监听 visibilitychange。
例如如下代码