iOS:在浏览器中判断是否安装了某个程序?

网上找了一堆代码
关键点也掌握了
现在的问题是,当我添加一个iframe并设置src为程序的schema url时,直接打开了该程序。

代码:

<script type="text/javascript">
        $(document).ready(function () {
            var log = function (msg) {
                $('body').before('<div class="log">' + msg + '</div>');
            };
            var timeout, t = 1000, hasApp = true;
            setTimeout(function () {
                if (hasApp) {
                    log('安装了app');
                } else {
                    log('未安装app');
                }
            }, 2000);
            function testApp() {
                var t1 = Date.now();
                var ifr = $('<iframe id="ifr"></iframe>');
                ifr.attr('src', 'abc1234://');
                $('body').append(ifr);
                timeout = setTimeout(function () {
                    try_to_open_app(t1);
                }, t);
            }
            function try_to_open_app(t1) {
                var t2 = Date.now();
                if (!t1 || t2 - t1 < t + 200) {
                    hasApp = false;
                }
            }
            testApp();
        });
    </script> 
ios

2个回答

由于安全隐私的原因,目前网页端无法通过js脚本直接判断某个APP是否已安装,只能首先通过js尝试性的启动app,然后再进入安装流程。启动app的方案有schema,universal link,具体详情请参考openinstall

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐