【JS】【20】点击页面判断是否安装app并打开,否则跳转下载的方法

前言:我们在日常中应该经常碰到这样的场景,打开一个页面,可跳转到对应APP内打开,如果没有安装对应APP则会提示下载

正文:

前提条件:你得知道你的APP对应的打开协议,如贴吧APP,协议为:com.baidu.tieba:// ,微信的:weixin:// 

<!-- a标签点击打开的动作,在click事件中注册 -->
<a href="javascript:;" id="openApp">贴吧客户端</a>
 <script type="text/javascript">
    document.getElementById(‘openApp‘).onclick = function(e){
        // 通过iframe的方式试图打开APP,如果能正常打开,会直接切换到APP,并自动阻止js其他行为
         var ifr = document.createElement(‘iframe‘);
         ifr.src = ‘com.baidu.tieba://‘;//打开app的协议,由app同事提供,系统会识别的
         ifr.style.display = ‘none‘;
         document.body.appendChild(ifr);
         window.setTimeout(function(){
             document.body.removeChild(ifr);
        window.location.href = "https://itunes.apple.com/cn/app/id477927812"; //打开app下载地址,由app同事提供
         },2000)
     };
 </script>

此方法有些浏览器不兼容iframe,可以window.location的方法解决

<a href="javascript:;" id="openApp">贴吧客户端</a>
<script type="text/javascript">
    document.getElementById('openApp').onclick = function(e){
        window.location.href = "com.baidu.tieba://";
        window.setTimeout(function(){
            window.location.href = "https://itunes.apple.com/cn/app/id477927812";//打开app下载地址,有app同事提供
        },2000)
    };
</script>

参考博客:

【JS】点击页面判断是否安装app并打开,否则跳转下载的方法
http://www.mamicode.com/info-detail-1518140.html

原文地址:https://www.cnblogs.com/huashengweilong/p/10934540.html