在HTML打开已安装的App,未安装跳转到对应的下载链接

借鉴  HTML中判断手机是否安装某APP,跳转或下载该应用

function lookApp () {
  var ua = navigator.userAgent
  var isAndroid = /(Android);?[s/]+([d.]+)?/.test(ua)
  var isIpad = /(iPad).*OSs([d_]+)/.test(ua)
  var isIpod = /(iPod)(.*OSs([d_]+))?/.test(ua)
  var isIphone = !isIpad && /(iPhonesOS)s([d_]+)/.test(ua)
  var isWechat = /micromessenger/i.test(ua)
  var isAlipay = /alipayclient/i.test(ua)
  if (isIphone) {
    // IPhone  
  // 默认跳转App协议 abc:// 后面的是跟App约定好携带的参数,这个根据实际情况添加或者删除 window.location.href = "abc://abc.com?id=" + id setTimeout(function(){
    // 未安装App即跳转IPhone商店 window.location
= 'https://itunes.apple.com/cn/app/aaaaaaaa' //如果超时就跳转到app下载页 },500); } else if (isAndroid) { // Android
// 默认跳转App协议
window.location.href = "abc://abc.com?id=" + id
setTimeout(function(){
// 未安装App即跳转Android商店
    window.location
= 'http://a.app.qq.com/o/simple.jsp?aaaaaa' //如果超时就跳转到app下载页
},500)
  }
}

首先利用navigator.userAgent 判断出手机设备类型

根据上面分别和IOS、Android约定好的   apps custom url schemes (abc://)  尝试打开App(微信浏览器里面无法直接打开App,在手机浏览器可以正常使用

并延长0.5秒自动跳转到对应的商店下载链接

原文地址:https://www.cnblogs.com/webBlog-gqs/p/9519316.html