HTML中的页面可见性

页面可见性介绍

长期以来一直缺少一个判断用户是否正在浏览某个指定标签页的方法。

用户是否去看别的网站了?他们切换回来了么?

HTML5 里页面可见性接口就提供给了程序员一个方法,让他们使用 visibilitychange 页面事件来判断当前页面可见性的状态,并针对性的执行某些任务。同时还有新的 document.hidden 属性可以使用。

常用的 API 如下:

  • document.hidden :这个新出现的 document.hidden 属性,它显示页面是否为用户当前观看的页面,值为 turefalse
  • document.visibilityStatevisibilityState 的值要么是 visible ,表明页面为浏览器当前激活 tab ,而且窗口不是最小化状态;要么是 hidden ,表示页面不是当前激活 tab 页面,或者窗口最小化了;或者 prerender ,表示页面在重新生成,对用户不可见。
  • visibilitychange 事件:监听页面可见性变化事件。

示例:

html 复制代码
<body>
    <p>页面可见性示例</p>
    <script>
        document.addEventListener("visibilitychange", function () {
            if(document.visibilityState === "hidden"){
                document.title = "页面切换了~目前不可见"
            }
            if(document.visibilityState === "visible"){
                document.title = "页面可见性示例"
            }
        });
    </script>
</body>

更多有关页面可见性的内容可以参阅 MDNhttps://developer.mozilla.org/zh-CN/docs/Web/API/Page_Visibility_API

所以,所谓页面可见性,就是获取当前页面的可见状态。因为对于用户来讲可以打开好多标签页面来回切换,然而始终只有一个页面处于显示状态。所以我们可以通过页面可见性(Page Visibility)API 来判断当前页面是显示状态还是隐藏状态。

相关推荐
靓仔建10 分钟前
Vue3导入组件出错does not provide an export named ‘user_setting‘ (at index.vue:180:10)
开发语言·前端·typescript
EnoYao21 分钟前
我写了一个团队体检报告 Skill,把摸鱼的同事扒出来了😅
前端·javascript
梁正雄36 分钟前
Python前端-2-css练习
前端·css·python
清汤饺子38 分钟前
用 Cursor 半年了,效率还是没提升?是因为你没用对这 7 个功能
前端·后端·cursor
蓝莓味的口香糖1 小时前
【vue3】组件的批量全局注册
前端·javascript·vue.js
wefly20171 小时前
开发者效率神器!jsontop.cn一站式工具集,覆盖开发全流程高频需求
前端·后端·python·django·flask·前端开发工具·后端开发工具
独泪了无痕1 小时前
自动导入 AutoImport:告别手动引入依赖,优化Vue3开发体验
前端·vue.js·typescript
GDAL2 小时前
MANIFEST.in简介
linux·服务器·前端·python
XPoet2 小时前
AI 编程工程化:Command——给你的 AI 员工编一套操作手册
前端·后端·ai编程
C_心欲无痕2 小时前
前端实现文件下载的完整流程
前端·状态模式