当前位置: 首页 > news >正文

h5页面js监听页面失去焦点、获取焦点

小程序/uniapp等项目有onshow、onhide等生命周期。

其实在h5页面中对应的是页面激活、页面非激活状态。

应用场景:

eg:在某h5页面需要连接websoket,页面激活状态建立连接,页面失去焦点就关闭连接,那么就需要用到该方式。话不多说,直接上代码~

核心代码:

function pageVisibilityChange() {
	var hiddenProperty = 'hidden' in document ? 'hidden' : 'webkitHidden' in document ? 'webkitHidden' : 'mozHidden' in document ? 'mozHidden' : null,
		visibilityChangeEvent = hiddenProperty.replace(/hidden/i, 'visibilitychange'),
		onVisibilityChange = function() {
			if (!document[hiddenProperty]) {
				console.log('页面激活');
			} else {
				console.log('页面非激活');
			}
		};
	document.addEventListener(visibilityChangeEvent, onVisibilityChange);
}

使用方式:

直接在页面调用函数pageVisibilityChange即可:

然后在页面激活、页面非激活里面写自己的业务代码。

pageVisibilityChange();

如果有帮助,可以点赞+收藏+关注,后续有更多知识与您分享!!!

欢迎加入QQ技术群:568984539,加群备注‘地区-名字-技术类型’,以防乱加。

关于本文,如果任何疑问的可以在评论区留言,我看到就会第一时间回复的。

相关文章:

  • uniapp之vuex在vue2和vue3两种模式下前端工程化动态导入文件
  • css实现三角形的最简单方式原理剖析
  • android4.4.2内核移植3.4.1
  • js正则提取字符串中http等地址
  • 解决 多列 布局 左右等高问题
  • unicloud云函数时间慢8小时的解决方案
  • 前端js实现字符转义和反转义
  • 实时数据库:优势和报价
  • 使用express搭建简单的本地服务器
  • 动手动脑
  • 作为程序员,有哪些神级编程资源呢
  • md5加密
  • 闭包得从底层理解
  • Linux wget auto login and backup database
  • Vue组件里的data为什么是函数,而不是对象
  • 2018天猫双11|这就是阿里云!不止有新技术,更有温暖的社会力量
  • Asm.js的简单介绍
  • classpath对获取配置文件的影响
  • docker python 配置
  • IndexedDB
  • JavaScript 基础知识 - 入门篇(一)
  • JavaScript函数式编程(一)
  • Python利用正则抓取网页内容保存到本地
  • SpringBoot几种定时任务的实现方式
  • 彻底搞懂浏览器Event-loop
  • 复习Javascript专题(四):js中的深浅拷贝
  • 坑!为什么View.startAnimation不起作用?
  • 深度学习中的信息论知识详解
  • 使用 Xcode 的 Target 区分开发和生产环境
  • 网页视频流m3u8/ts视频下载
  • Hibernate主键生成策略及选择
  • 交换综合实验一
  • ​软考-高级-系统架构设计师教程(清华第2版)【第1章-绪论-思维导图】​
  • #if 1...#endif
  • #快捷键# 大学四年我常用的软件快捷键大全,教你成为电脑高手!!
  • $Django python中使用redis, django中使用(封装了),redis开启事务(管道)
  • $NOIp2018$劝退记
  • (13)[Xamarin.Android] 不同分辨率下的图片使用概论
  • (2)MFC+openGL单文档框架glFrame
  • (33)STM32——485实验笔记
  • (附源码)计算机毕业设计大学生兼职系统
  • (六)vue-router+UI组件库
  • (十一)c52学习之旅-动态数码管
  • (学习日记)2024.02.29:UCOSIII第二节
  • (一一四)第九章编程练习
  • (原創) 如何優化ThinkPad X61開機速度? (NB) (ThinkPad) (X61) (OS) (Windows)
  • (转)淘淘商城系列——使用Spring来管理Redis单机版和集群版
  • (转)为C# Windows服务添加安装程序
  • .MyFile@waifu.club.wis.mkp勒索病毒数据怎么处理|数据解密恢复
  • .NET Compact Framework 3.5 支持 WCF 的子集
  • .Net7 环境安装配置
  • .NET学习全景图
  • .NET与java的MVC模式(2):struts2核心工作流程与原理
  • .NET值类型变量“活”在哪?
  • .net专家(高海东的专栏)