HTML5中判断用户是否正在浏览页面的方法

来源:互联网 发布:知乎图片右显示一半 编辑:程序博客网 时间:2024/05/16 10:46

方法1:


$(window).on('focus', function() {    alert('focus');});$(window).on('blur', function() {   // alert('blur');});

方法2:

// 各种浏览器兼容var hidden, state, visibilityChange;  if (typeof document.hidden !== "undefined") { hidden = "hidden"; visibilityChange = "visibilitychange"; state = "visibilityState"; } else if (typeof document.mozHidden !== "undefined") { hidden = "mozHidden"; visibilityChange = "mozvisibilitychange"; state = "mozVisibilityState"; } else if (typeof document.msHidden !== "undefined") { hidden = "msHidden"; visibilityChange = "msvisibilitychange"; state = "msVisibilityState"; } else if (typeof document.webkitHidden !== "undefined") { hidden = "webkitHidden"; visibilityChange = "webkitvisibilitychange"; state = "webkitVisibilityState"; }</p> <p>// 添加监听器,在title里显示状态变化document.addEventListener(visibilityChange, function() { document.title = document[state]; }, false);</p> <p>// 初始化document.title = document[state];

上面的代码会在页面可见性发生变化时修改document.title的值!

那么,什么时候需要使用visibilitychange事件呢?比如,如果你的页面上有嵌入视频正在播放,当用户切换到其它标签页时,你的标签页上的视频应自动暂停播放,当用户切换回来时继续接着播放。再比如,如果你的页面有自动刷新动作,当用户切换到其它标签页时,你就应该停止刷新,而当用户切换回来时继续之前的动作。


0 0