zoukankan      html  css  js  c++  java
  • 微信页面关闭事件

    微信H5页面关闭事件

    需求:

    在微信浏览器中,监听页面关闭事件,当页面关闭时,处理一些事件。这是平时工作中比较常遇到的问题。与此同时,还有微信页面的刷新问题,切后台问题等等。现就目前的需求,对前一段时间遇到的问题以及最终的解决办法,做一下记录。

    • 业务需求:
      • 微信浏览器页面关闭,暂停播放,停止记录时长;
      • 微信浏览器页面切后台时,同上,暂停播放,停止记录时长;
      • 后台杀死微信浏览器时,同上。
    • 此中涉及到的事件主要有:
      1. 微信浏览器页面关闭事件:pagehide / unload 事件
      2. 页面的后台前台切换事件(即页面的显示与隐藏):visibilitychange 事件

    微信(APP客户端)页面关闭

    微信端对Android和iOS的处理方式有所差异,有些事件监听函数只能在Android和iOS中的一端生效,所以微信页关闭事件也是如此,不同操作系统平台,所需的事件监听方法还是有差异的。

    • Android微信关闭
    const unloadHander(e) {
          // 获取浏览器信息ua
          let u = navigator.userAgent;
          // 判断设备
          let isAndroid = u.indexOf('Android') > -1 || u.indexOf('Linux') > -1;
          if (isAndroid) {
          	// 处理事件
          }
    }
    
    // 添加事件
    window.addEventListener('unload', function(e) {
          unloadHander();
    }, false);
    
    // 移除事件
    window.removeEventListener('unload', function(e) {
          unloadHander();
    }, false);
    
    • iOS微信页面关闭
    const pagehideHander(e) {
          // 获取浏览器信息ua
          let u = navigator.userAgent;
          // 判断设备
          let isiOS = !!u.match(/(i[^;]+;( U;)? CPU.+Mac OS X/);
          if (isiOS) {
          	// 处理事件
          }
    }
    
    // 添加事件
    window.addEventListener('pagehide', function(e) {
          pagehideHander();
    }, false);
    
    // 移除事件
    window.removeEventListener('pagehide', function(e) {
          pagehideHander();
    }, false);
    
  • 相关阅读:
    ListBox 绑定之-SelectedItem
    tomcat部署web项目的3中方法
    NET 2.0中的字符串比较和方法
    winform WindowsMediaPlayer 属性
    C语言32个关键字解释
    进程间通讯—自定义消息
    常见符号英文表示
    在vs 中运行C程序
    wpf 不是很明白,先记下
    PenTest-log for ging解决方案
  • 原文地址:https://www.cnblogs.com/zxk5211/p/13671090.html
Copyright © 2011-2022 走看看