Is there any DOM event for when the browser tab loses/gains focus? I know there are the blur and focus events on window, but they also fire when the browser window as a whole loses focus. The browser might then be still visible to the user. Of course such an event would be browser specific, but that’s ok.
The reason why I want this is because I run animations that might consume quite some CPU time. When the browser tab is not visible there is no reason to continue animating. Now I know that modern browsers reduce the timer resolution of background tabs, but I could actually pause the animation, so that no CPU time whatsoever is consumed.
In case you are wondering, this is what I’m writing:
http://panzi.github.com/Browser-Ponies/
At least Google Chrome supports a
webkitvisibilitychangeevent and adocument.webkitHiddenproperty. See the visibility API. But it seems only to fire when the shown tab changes, not when the whole window is minimized. There also seems to be avisibilitychangeevent for Internet Explorer, but the documentation doesn’t say anything about it.