1.document.hidden ,《高级三》中详细解释
25.2 Page Visibility API
不知道用户是不是正在与页面交互,这是困扰广大Web 开发人员的一个主要问题。如果页面最小
化了或者隐藏在了其他标签页后面,那么有些功能是可以停下来的,比如轮询服务器或者某些动画效果。
而Page Visibility API(页面可见性API)就是为了让开发人员知道页面是否对用户可见而推出的。
这个API 本身非常简单,由以下三部分组成。
document.hidden:表示页面是否隐藏的布尔值。页面隐藏包括页面在后台标签页中或者浏览
器最小化。
document.visibilityState:表示下列4 个可能状态的值。
页面在后台标签页中或浏览器最小化。
页面在前台标签页中。
实际的页面已经隐藏,但用户可以看到页面的预览(就像在Windows 7 中,用户把鼠标移动到
任务栏的图标上,就可以显示浏览器中当前页面的预览)。
页面在屏幕外执行预渲染处理。
visibilitychange 事件:当文档从可见变为不可见或从不可见变为可见时,触发该事件。
在编写本书时,只有IE10 和Chrome 支持Page Visibility API。IE 的版本是在每个属性或事件前面加
上ms 前缀,而Chrome 则是加上webkit 前缀。因此document.hidden 在IE 的实现中就是
document.msHidden,而在Chrome 的实现中则是document.webkitHidden。检查浏览器是否支持
这个API 的最佳方式如下: