浏览器标签失去/获得焦点时是否有任何DOM事件?我知道blur
上有focus
和window
个事件,但当浏览器窗口整体失去焦点时,它们也会触发。然后,浏览器可能仍然对用户可见。当然这样的事件将是浏览器特定的,但没关系。
我想要这个的原因是因为我运行的动画可能会消耗相当多的CPU时间。当浏览器选项卡不可见时,没有理由继续动画。现在我知道现代浏览器会降低背景标签的计时器分辨率,但我实际上可以暂停动画,这样就不会消耗任何CPU时间。
如果你想知道,这就是我写的: http://panzi.github.com/Browser-Ponies/
答案 0 :(得分:5)
至少谷歌浏览器支持webkitvisibilitychange
事件和document.webkitHidden
属性。请参阅visibility API。但似乎只有在显示的标签更改时才会触发,而不是在整个窗口最小化时触发。 Internet Explorer似乎也有visibilitychange
事件,但documentation没有说明任何内容。
答案 1 :(得分:2)
我相信你会发现最接近的是这里的最佳答案:
答案 2 :(得分:1)