如何用js检测手机是否安装某个app

//html代码中 的 a 标签,以微信为例,默认的是调用weixin scheme,去打开本机的微信,如果没有则跳转到相应连接
    <a href="weixin://" class="btn-download">立即打开</a>
  
    // 为btn-download 绑定事件,如果在500ms内,没有解析到协议,那么就会跳转到下载链接 
     var appstore, ua = navigator.userAgent;
        if(ua.match(/Android/i)){ 
            appstore = 'market://search?q=com.singtel.travelbuddy.android';
        }
        if(ua.match(/iphone|ipod|ipad/)){
            appstore = "https://itunes.apple.com/cn/app/wei-xin/id414478124?mt=8&ign-mpt=uo%3D4"; 
        }
        function applink(fail){  
            return function(){  
                var clickedAt = +new Date;  
                // During tests on 3g/3gs this timeout fires immediately if less than 500ms.  
                setTimeout(function(){  
                     // To avoid failing on return to MobileSafari, ensure freshness!  
                      if (+new Date - clickedAt < 2000){  
                          window.location = fail;  
                      }  
                }, 500);      
            };  
        }  
        $('.icon-download, .btn-download')[0].onclick = applink(appstore);

  

posted @ 2017-09-08 15:58  归尘2016  阅读(1368)  评论(0编辑  收藏  举报