We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
现代的浏览器都是支持多个tab页面之间互相切换的。那我们怎么能知道用户已经离开当前页面,切换到别的页面去了呢?又或者怎么知道用户从别的页面又切换回来了呢? 所以,下面我想介绍的就是浏览器中的一套用来判断当前页面可见状态的api:
document.hidden
它是一个只读属性,当用户切换到浏览器的其它页面或者最小化浏览器窗口的时候,它的属性值就会变为true,否则就为false,同时会触发一个visibilitychange事件,我们就可以监听这个事件,然后在其中去编写自己的处理逻辑。
true
false
visibilitychange
这是一个音乐播放器的示例,你打开页面就会播放音乐,切换到其它页面时音乐就会暂停,当你再次回来时音乐会继续播放。我们来看看它的实现方式:
<audio id="music" src="http://mx.djkk.com/mix/2016/2016-5/2016-5-17/2016517225932.m4a" controls autoplay></audio>
var music = document.querySelector('#music'); document.addEventListener('visibilitychange', function(){ visibilitychange(); }, false); function visibilitychange(){ if(document.hidden){ music.pause(); }else{ music.play(); } }
我在document上监听了visibilitychange事件,然后在它的回调函数里使用document.hidden来判断当前页面的可见状态,以此来控制音乐的播放和暂停。
document
另外,在document对象上还有一个只读属性也可以用来判断当前页面的可见状态:
document.visibilityState
它可能会有四种状态值:
visible
hidden
prerender
unloaded
实在是没想明白后两种状态值是怎样的一个状态,并且如何去模拟这两种场景。 按照这篇文章里的描述,也模拟不出来啊:GA源代码里的小技巧之preview和prerender
The text was updated successfully, but these errors were encountered:
window.blur 事件应该也具有同样的效果。 https://developer.mozilla.org/en-US/docs/Web/API/Window/blur
window.blur
Sorry, something went wrong.
@WangJi ,好的,有机会试试
No branches or pull requests
现代的浏览器都是支持多个tab页面之间互相切换的。那我们怎么能知道用户已经离开当前页面,切换到别的页面去了呢?又或者怎么知道用户从别的页面又切换回来了呢?
所以,下面我想介绍的就是浏览器中的一套用来判断当前页面可见状态的api:
它是一个只读属性,当用户切换到浏览器的其它页面或者最小化浏览器窗口的时候,它的属性值就会变为
true
,否则就为false
,同时会触发一个visibilitychange
事件,我们就可以监听这个事件,然后在其中去编写自己的处理逻辑。一些使用场景
使用示例
这是一个音乐播放器的示例,你打开页面就会播放音乐,切换到其它页面时音乐就会暂停,当你再次回来时音乐会继续播放。我们来看看它的实现方式:
我在
document
上监听了visibilitychange
事件,然后在它的回调函数里使用document.hidden
来判断当前页面的可见状态,以此来控制音乐的播放和暂停。另外,在
document
对象上还有一个只读属性也可以用来判断当前页面的可见状态:它可能会有四种状态值:
visible
:当页面没有被最小化,并且是可见状态时hidden
:当页面已经被最小化,或者不是可见状态时,或者是操作系统处于锁屏状态时prerender
:页面已经被预渲染完毕,还没有展示给用户时unloaded
:页面没有从内存中被加载出来时实在是没想明白后两种状态值是怎样的一个状态,并且如何去模拟这两种场景。
按照这篇文章里的描述,也模拟不出来啊:GA源代码里的小技巧之preview和prerender
参考链接:
The text was updated successfully, but these errors were encountered: