javascript - android端网页超链接调用native app为什么在QQ,UC浏览器内部打开了应用,Chrome没有任何问题
迷茫
迷茫 2017-04-11 12:27:12
[JavaScript讨论组]

上头给了一个需求,要通过一个网页的超链接启动本地app,但是在网上查了相关资料都是通过自定义URL Schemes协议来启动app,代码如下:

//android端xml配置

    
    
    
    


//js代码:
    var t;
    var config = {
        scheme_IOS: 'appB://',
        scheme_Adr: 'test://gw:8888/open',
        download_url: "http://mb.sseinfo.com/ComInfoServer/ssegwappdownload.jsp",
        timeout: 600
    };
    function startApp(){
        var startTime = Date.now();
        
        if(isWeiXin()){
            alert("请在浏览器中打开!");
        }else{
            var iframe = document.createElement("iframe");
            if(checkOS()){
                iframe.src=config.scheme_Adr;
            }else{
                iframe.src=config.scheme_IOS;
            }
            iframe.style.display = "none";
            document.body.appendChild(iframe);
            t = setTimeout(function() {
                    var endTime = Date.now();
                    if (!startTime || endTime - startTime < config.timeout + 20) { 
                        window.location = config.download_url;
                    } else {
                        
                    }
            }, config.timeout);

            window.onblur = function() {
                clearTimeout(t);
            }
        }
    }

那么问题就是,除了Chrome可以,在qq,UC浏览器中都会在浏览器内部启动app,在手机后台进程中并没有启动新的app,整个app界面直接是嵌入在浏览器

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

全部回复(1)
天蓬老师

不能明白你后半问题,你的应用嵌入浏览器了?如果你是想问为什么在配置了scheme的情况下chrome浏览器能启动应用而qq/uc浏览器不能,那倒是可以直接解答的问题,qq/uc/wechat的浏览器都有应用白名单过滤,对scheme跳转做了限制,联系他们审核,合作,加钱吧。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号