网页唤起APP

callApp() {
  const config = {
    /*scheme:必须、这里我用的微信的要换成自己公司的scheme*/
    scheme_IOS: "weixin://",
    scheme_Adr: "weixin://",
    download_IOSurl: "https://shouji.baidu.com/software/26174555.html",
    download_ANDurl: "https://apps.apple.com/cn/app/id414478124?ls=1",
  };
  const u = navigator.userAgent
  if (/MicroMessenger/gi.test(u)) {
    // 如果是微信客户端打开,引导用户在浏览器中打开
    alert('请在浏览器中打开')
  }
  if (u.indexOf('Android') - 1 || u.indexOf('Linux') - 1) {
    // Android
    if (this.openApp(config.scheme_Adr)) {
      this.openApp(config.scheme_Adr) // 通过Scheme协议打开指定APP
    } else {
      //跳转Android下载地址
      window.location = config.download_ANDurl;
    }
  } else if (u.indexOf('iPhone') - 1) {
    if (this.openApp(config.scheme_Adr)) {
      this.openApp(config.scheme_Adr) // 通过Scheme协议打开指定APP
    } else {
      // 跳转IOS下载地址
      window.location = config.download_IOSurl;
    }
  }
}
openApp(src) {
  // 通过iframe的方式试图打开APP,如果能正常打开,会直接切换到APP,并自动阻止a标签的默认行为
  // 否则打开a标签的href链接
  let ifr = document.createElement('iframe')
  ifr.src = src
  ifr.style.display = 'none'
  document.body.appendChild(ifr)
  window.setTimeout(function () {
    // 打开App后移出这个iframe
    document.body.removeChild(ifr)
  }, 2000)
}

你可能感兴趣的:(小技巧)