记录网页唤起app成功后超时逻辑不应该执行问题

在点击唤起app时候添加一个页面监听,不过特别注意的是超时等待的时长,开始我设置为1500ms导致ios visibilitychange还没反应过来就执行了超时逻辑,改为2500后ios也变为正常,一直以为ios visibilitychange监听不生效呢,最后才发现这个问题

  document.addEventListener("visibilitychange", this.handleVisiable, false);

import openapp from "h5-openapp"; //我使用的vue,引了这个依赖

data() {
    return {
      pageIsShow: true,
    }
  },

mounted() {
    document.addEventListener("visibilitychange", this.handleVisiable, false);添加监听
},
methods: {
 handleVisiable(e) {
      switch (e.target.visibilityState) {
        case 'hidden':
          this.pageIsShow = false;
          break
        case 'visible':
          // this.myPlayer.paly()
          this.pageIsShow = true;
          break
      }
   },
 async goAPP() {
      rwScheme = `rwScheme` //需要找app要
      openapp({
        scheme: rwScheme,
        download: {
          // 默认 scheme 跳转无效,便前往下载, 设置 onTimeout 回调时, 不执行下载逻辑
          ios: baseUrl, // ios 下载链接
          android: baseUrl, // android 下载链接
          other: baseUrl, // 其他渠道 下载链接
        },
        delay: 2500, // 等待时间, 超时后执行 onTimeout,  default: 3000
        disabledScheme: [], // scheme 被禁用的 APP
        onDisabled: function (appTag) {
          log("scheme 被禁用", appTag);
          // 当打开网页的 APP 为 disabledApp 中的任一个,并且未设置深链接时
          if (appTag === "MicroMessenger") {
            // console.log("微信不支持 scheme 跳转");
          } else if (appTag === "DingTalk") {
            // console.log("钉钉不支持 scheme 跳转");
          } else {
          
          }
        },
         onBeforeOpen: function () {
           // 在执行打开 app 逻辑前触发
         },
        onTimeout: function () {
          if(_this.pageIsShow){ //判断是否跳转app成功,浏览器被最小化
            _this.$router.push({ path: `/`}) //跳转到下载页面
          }

         
          // 触发打开 app 逻辑, 并且超过等待时间时触发, 未设置的情况下, 如果设置了下载链接, 则默认跳转下载链接
        }
      });
    },
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值