监听h5页面显示与隐藏事件

说明:
在最近的项目开发中,需要前端写一个h5页面然后嵌入到java安卓app里面,这里不讲web与Java的通讯,有这么一个需求,定时器定期去调用接口拿数据动态的展示到折线图中,但是呢遇到了这么一个问题,H5进入后台运行导致定时器不能用的问题,这就导致数据不是连续的,想在java那边解决,但是java那边做的是数据库方向的,也不是专业的java安卓开发,就只能自己解决了
于是我就想到前端可以监听页面进入到后台是运行的场景吗?这不就是页面的显示与隐藏,当我们手机把项目切入到后台时,或者息屏时触发相应的事件就好了

visibilitychange事件

是浏览器的新事件方法,主要是用来监听页面是否处于显示状态,现在主流的浏览器都支持此事件,当浏览器进行切换选项卡,最小化,最大化等操作的时候会主动触发该事件。

document.hidden属性

用来表示当前页面是隐藏状态还是激活显示状态,当页面是隐藏非激活状态的时候该值为true,当页面是激活状态的时候该值为false,该属性为只读属性。
我们可以通过上边的visibilitychange事件结合document.hidden做一些效果
其实代码也非常的简单

 // 给document绑定一个visibilitychange事件,当前页面显示或者隐藏的时候执行该事件
    document.addEventListener("visibilitychange", function() {
      // 判断当前document是显示状态还是隐藏状态
      if(!document.hidden){
        // 如果是显示状态执行相应的事件
        
      }else{
        // 如果是隐藏状态执行相应的事件
        
      }
    });

举个例子来说:
假如既有这么一个需求,你在做一个音乐播放器的功能,当页面隐藏时要暂停播放,当页面显示的时候就开始播放,那你用这个事件来岂不是事半功倍。

在这里插入图片描述

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

好 运.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值