js判断移动端是ios或安卓

JS实现下面功能:

首先判断是否为微信浏览器,然后在判断是ios还是安卓,同事执行不同的下载app的链接

js是无法判断是否安装了某个App的,网上找的的什么设置延时执行,iframe等根!本!没!用!也看了一些大厂的如网易新闻,今日头条等还是需要先跳转到App store里如果你已下载App显示的事打开字样,如果未下载显示的去下载

    function openApp() {
      var ua = window.navigator.userAgent.toLowerCase();
      if (ua.match(/MicroMessenger/i) == 'micromessenger') {  // 判断是否是微信内置浏览器
        // 微信目前不支持打开非鹅厂应用,所以先判断是否在微信中打开此页面
        alert('点击右上角选择在浏览器中打开')
      } else {//非微信浏览器
        if (navigator.userAgent.match(/(iPhone|iPod|iPad);?/i)) { //判断是否是ios端
          //window.location = "opengnsx://"; //尝试直接唤醒打开App 此链接由ios开发者提供,此处有bug,ios执行此处下面的下载链接也会执行目前没有好的解决发
          var loadDateTime = new Date();
          window.setTimeout(function () {
            var timeOutDateTime = new Date();
            if (timeOutDateTime - loadDateTime < 5000) {
              window.location = "要跳转的页面URL";//ios下载地址
            } else {
              window.close();
            }
          }, 25);
        } else if (navigator.userAgent.match(/android/i)) { //判断是否是android端
          try {
            window.location = 'opengnsx://'; //此链接由android开发者提供
            setTimeout(function () {
              window.location = "要跳转的页面URL"; //android下载地址
            }, 500);
          } catch (e) { }
        }
      }
    }

虽然解决了问题,但是此方法有一个不足的地方(BUG):
无论是否安装APP,引导下载的页面都会跳转到下载页
如果安装了APP则会直接打开APP,因此也不会在意之前的页面会不会跳转(强迫症患者可能会在意)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值