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,加群备注‘地区-名字-技术类型’,以防乱加。
关于本文,如果任何疑问的可以在评论区留言,我看到就会第一时间回复的。
h5页面js监听页面失去焦点、获取焦点相关推荐
- js监听页面或元素scroll事件,滚动到底部或顶部
基本原理: 1.滚动到底部 元素的滚动距离 + 元素的可视距离 == 元素的滚动条总距离2.滚动到顶部 元素的滚动距离 == 0 监听页面滚动 <!DOCTYPE html> <ht ...
- java计算器监听放大缩小,js监听页面放大缩小
demo body[zoom='scale']:before{ content: '您的网页处于缩放状态,请按 Ctrl+0 恢复到浏览器默认大小'; z-index: 9999; position: ...
- js监听页面最大化,最小化事件
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- js监听页面元素变化window.MutationObserver
相信前端开发同学都熟悉各种各样的监听事件,比如元素点击事件onClick,鼠标事件onMouseDown.onMouseHover,键盘按键onKeyDown,浏览器窗口改变事件onResize等等. ...
- JS监听页面----无鼠标键盘动作,自动跳页
监听页面鼠标键盘动作,若用户5秒没有任何操作,页面自动跳转 function ScreenSaver(settings){ this.settings = settings; this.nTimeou ...
- JS监听页面元素删除子节点、增加子节点、修改子节点的内容
监听这个事件DOMSubtreeModified. 表示如果当前监听元素的子节点有改动:包括删除子节点.增加子节点.修改子节点的内容,都会触发这个事件. var container = documen ...
- js监听页面焦点事件
document.addEventListener('visibilitychange', function () {var isHidden = document.hidden;if (isHidd ...
- js 监听页面url锚点变化 window.onpopstate
window.onpopstate = function (event) {if (location.href.indexOf('#') == -1) {location.reload();}}; 解 ...
- html+监听+页面滚动到底部,JS监听页面滚动到底部事件
敏捷开发之Scrum扫盲篇 现在敏捷开发是越来越火了,人人都在谈敏捷,人人都在学习Scrum和XP... 为了不落后他人,于是我也开始学习Scrum,今天主要是对我最近阅读的相关资料,根据自己的理解, ...
最新文章
- 梦见男朋友和别的女生逛街,第一反应亮了... | 每日趣闻
- CodeForces - 182D Common Divisors(KMP的next数组)
- IP地址不是唯一的吗?为什么路由器的IP地址都是这样的呢?
- python 函数递归_Python零基础之三元表达式、函数递归、匿名函数教程!超级详细!...
- linux shell ls -l,linux之ls -l|grep ^-|wc -l命令 Shell 中常見的日志統計方法
- linux time
- 面试中听到这句话是不是代表凉了?
- shll脚本带参数输入给导出的数据库文件命名以及创造路径
- java was datasource_mybatis默认的数据源连接池(PooledDataSource和UnPooledDataSource)
- 在Release版本中如何关闭Debug版本中的log
- 多维数组-创建多维数组
- 还原 idea undo commit
- 用glew,glfw实现的opengl 学习笔记2画一个四方形
- 《duilib入门到精通》- duilib下载与编译(duilib视频教程)
- fiddler websocket 乱码
- SQL调优和性能监控利器SQL Monitor
- 利用Oh-My-Zsh打造你的超级终端
- 计算机中分页符号是什么,2013年职称计算机操Word2003精选知识点:分页符号
- open62541 (R 1.1.2)中文文档 (译文)第一篇 (1 - 5)
- 百度目前开放的AI平台
热门文章
- python如何读pst文件_python - 从win32或pypff读取PST文件 - SO中文参考 - www.soinside.com...
- 在使用Repeater、DataList 或 DataGrid 的模板列表时,根据不同状态,显示不同颜色
- 莫比乌斯函数摘录笔记
- 硬件设计从0到1之基本工具
- 书生中学计算机应用自费,浙江省台州市书生中学2015-2016学年高二信息技术上学期期中试题...
- [转贴]主板报警声详解
- 高质量APP广告变现,广告竞价优化策略不能少
- 优思学院|“丰田生产方式“和“福特生产方式”的区别
- windows注册表修改大全
- vue前端下载excel文件