Page Visibility API
最近做了一次在线考试,觉得有个HTML5的API很有趣,便研究了一番。
主要用于浏览器切换tab标签页时会触发。
visibilitychange事件
|
|
触发这个事件,会关联两个属性
document.visibilityState
返回四种状态:
- visible
页面至少显示一部分,在实践中代表页面在非最小化窗口最前面的位置。 - hidden
页面内容对用户是不可见的。
有三种情况:- 浏览器是最小化。(The User Agent is minimized.)
- 浏览器不是最小化,但是该页面在浏览器中的后台tab中,即不是当前选中可见窗口中。(The User Agent is not minimized, but the page is on a background tab.)
- 操作系统锁定屏幕显示。(The Operating System lock screen is shown.)
- prerender
正在prerendered页面内容和用户是不可见的(考虑隐藏document.hidden的目的)。文档可能会在这种状态下,但永远不会过渡到另一个值。注意:浏览器支持是可选的。 - unload
页面被从内存中卸载。注意:浏览器支持是可选的。
document.hidden
返回 boolean 值, true 或者 false;
ture 时,表示页面已不在当前窗口
false 时, 表示页面正在当前窗口
兼容写法
|
|
兼容版本
- Chrome 13-33
- FireFox 16,18
- safari 7
- Opera 12.10
- IE10
相关链接
W3C Page Visibility API
MDN Page Visibility API
Page Visibility(页面可见性) API介绍、微拓展