document.addEventListener('visibilitychange', function () {
// 用户息屏、或者切到后台运行 (离开页面)
if (document.visibilityState === 'hidden') {
console.log('hidden')
}
// 用户打开或回到页面
if (document.visibilityState === 'visible') {
console.log('页面可见')
}
})
该Document.visibilityState只读属性返回的知名度document,这是在什么背景下该元素是现在可见。了解文档是在后台还是不可见的选项卡中,还是仅加载用于预渲染,这很有用。可能的值为:
‘visible’
页面内容可以至少部分可见。实际上,这意味着页面是未最小化窗口的前景选项卡。
‘hidden’
页面内容对用户不可见。实际上,这意味着文档是背景标签或最小化窗口的一部分,或者OS屏幕锁定处于活动状态。
‘prerender’
该页面内容正在预呈现,并且对用户不可见(出于的目的被视为隐藏document.hidden)。该文档可能以这种状态开始,但是绝不会从另一个值过渡到该状态。注意:这已从标准中删除。检查兼容性表以了解详细信息。
当此属性的值更改时,该visibilitychange事件将发送到Document。
此功能的典型用法是在仅预渲染文档时防止下载某些资产,或者在文档处于后台或最小化时停止某些活动。
兼容性