Page Visibility Api
页面可见性 API,可以监听当前页面是否可见
本Api分为两个属性:hidden、visibilityState;和一个事件:visibilitychange
1.属性
document.hidden
Document.hidden (只读属性)返回布尔值,表示页面是(true)否(false)隐藏。
语法:
js
var string = document.hidden兼容性
- IE浏览器中:mshidden,
- 老版本谷歌中:webkithidden
document.visibilityState
Document.visibilityState (只读属性), 返回document的可见性,即当前可见元素的上下文环境。由此可以知道当前文档 (即为页面) 是在背后,或是不可见的隐藏的标签页,或者 (正在) 预渲染。可用的值如下:
- visible : 此时页面内容至少是部分可见。即此页面在前景标签页中,并且窗口没有最小化。
- hidden : 此时页面对用户不可见。即文档处于背景标签页或者窗口处于最小化状态,或者操作系统正处于 '锁屏状态' .
- prerender : 页面此时正在渲染中,因此是不可见的 (considered hidden for purposes of
document.hidden). 文档只能从此状态开始,永远不能从其他值变为此状态。注意:浏览器支持是可选的。
语法:
js
var string = document.visibilityState当visibilityState改变时,会触发visibilistchange事件
2.事件
visibilistchange
当其选项卡的内容变得可见或被隐藏时,会在文档上触发 visibilitychange (能见度更改) 事件。
语法:
js
document.addEventListener("visibilitychange", function() {
console.log( document.visibilityState );
});兼容性
- IE浏览器中:msvisibilitychange,
- 老版本谷歌中:webkitvisibilitychange
