浏览器页面切换
浏览器 tab 切换
切换事件
浏览器会暂停当前标签页渲染和 JavaScript 执行(尤其是与页面渲染相关的任务),以便将资源转移到新的标签页
ex: Tab1 -> Tab2
Tab1 会经历以下状态:
visibilitychange 事件: 浏览器会发出一个
visibilitychange事件,指示当前页面是否可见浏览器会暂停不必要的操作,例如暂停动画、网络请求、定时器 (
setTimeout,setInterval),但这并不是强迫性的
Tab2 会经历以下状态:
- 浏览器会为 Tab2 激活并恢复相关的渲染和脚本执行。 Tab2 也会触发
visibilitychange事件,但是 Tab2 页面中, document.hidden 会被设置为 false
资源管理
资源释放: 浏览器会逐渐释放页面不再活跃时使用的部分资源,为了节省内存和处理能力
继续后台任务: 某些操作仍然会在后台运行,例如
web workers或持久化的后台同步任务,可以使用visibilitychange事件来处理这些任务,确保他们在标签页切换时继续或暂停
关于设计切换页面计时器
使用 web worker
1 | // timeWorker.js |
恶搞博客标题
1 | //动态标题 |
原理很简单,只需监听 visibilitychange 事件即可
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 M2Y-Blog!