HTML5中怎么判断用户是否正在浏览页面?
问题描述
HTML5中怎么判断用户是否正在浏览页面?
问题解答
回答1:HTML5中怎么判断用户是否正在浏览页面?-PHP中文网问答-HTML5中怎么判断用户是否正在浏览页面?-PHP中文网问答
围观一下哦,学习一下。
回答2:HTML5里页面可见性接口就提供给了程序员一个方法,让他们使用visibilitychange页面事件来判断当前页面可见性的状态,并针对性的执行某些任务。同时还有新的document.hidden属性可以使用。
document.hidden
这个新出现的document.hidden属性,它显示页面是否为用户当前观看的页面,值为ture或false。
document.visibilityState
visibilityState的值要么是visible (表明页面为浏览器当前激活tab,而且窗口不是最小化状态),要么是hidden (页面不是当前激活tab页面,或者窗口最小化了。),或者prerender (页面在重新生成,对用户不可见。).
visibilitychange事件
监听页面可见性变化非常容易
// 各种浏览器兼容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事件呢?比如,如果你的页面上有嵌入视频正在播放,当用户切换到其它标签页时,你的标签页上的视频应自动暂停播放,当用户切换回来时继续接着播放。再比如,如果你的页面有自动刷新动作,当用户切换到其它标签页时,你就应该停止刷新,而当用户切换回来时继续之前的动作。
相关文章:
1. php - 两个表数据怎么插到一个模板中,并按时间排序?2. 调用控制器方法 出现 no input file specified.3. 网络爬虫 - python sys 模块 设置编码老是报错4. javascript - node做中间层是什么意思,能具体详说么?5. javascript - vue的element-ui(饿了吗UI) webpack打包时externals无法分离6. linux - python 安装 Anaconda 环境变量问题请教7. css - 这些字体是怎么弄的?8. javascript - js,有几行代码不太明白?9. javascript - nodejs express 中,throw 一个异常,如何指定响应号?10. javascript - 想学web前端全栈开发,请问有机构推荐吗?

网公网安备