前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >JavaScript 页面可见性-监听用户离开页面-visibilitychange 事件

JavaScript 页面可见性-监听用户离开页面-visibilitychange 事件

作者头像
用户9857551
发布2023-10-17 15:35:41
6190
发布2023-10-17 15:35:41
举报
文章被收录于专栏:Angular学习规划Angular学习规划

JavaScript监听用户离开页面-visibilitychange

visibilitychange 事件触发原理

用户离开或者回到指定页面,document.visibilityState 属性发生变化 就会触发 visibilitychange 事件 因此,可以通过监听这个事件跟踪页面可见性的变化,

补充:document.visibilityState 属性

在 HTML5 中,文档对象(即 document 对象)具有一个visibilityState属性,该属性表示当前文档对象的可见性状态。

visibilityState 可能的取值有以下三种:

  • visible:表示文档当前处于激活状态,即当前选项卡处于前台或当前窗口处于屏幕最上层。
  • hidden:表示文档当前处于非激活状态,即当前选项卡处于后台或当前窗口被最小化或被其他窗口遮盖。
  • prerender:表示文档处于预渲染状态,即当前页面正在被预先加载并渲染,但尚未成为当前活动页面。

document.visibilityState属性是为了提高页面性能和节省资源而引入的新功能。在过去,开发人员通常会在页面上运行许多 JavaScript 动画或视频播放等操作,这些操作会消耗大量的 CPU、GPU 或网络带宽资源,从而影响页面的性能和响应速度。通过监视visibilityState属性,可以在用户切换选项卡或最小化窗口时暂停或恢复某些页面活动(如动画或视频播放)等操作,从而优化页面性能和用户体验。

代码实例:

代码语言:javascript
复制
document.addEventListener('visibilitychange', function () {
  // 用户离开了当前页面
  if (document.visibilityState === 'hidden') {
    document.title = '页面不可见';
  }

  // 用户打开或回到页面
  if (document.visibilityState === 'visible') {
    document.title = '页面可见';
  }
});
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2023-10-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • JavaScript监听用户离开页面-visibilitychange
    • visibilitychange 事件触发原理
      • 补充:document.visibilityState 属性
        • 代码实例:
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档