网页中JS打开拉起或下载指定的APP

 

 

点击呼起APP非常简单,和打电话类似(点击打电话是a标签的:”tel:1xxxxxxx”)

<a href="weixin://scanqrcode" id="open-weixin">微信</a>

如果想直接打开,修改href就好

window.location.href = "weixin://";

还有一些下载的,做个备份;(没有测试的)

//生成一个url scheme,假设我们约定的scheme是myApp://type=1&id=iewo212j32这种形式的
var baseScheme = "weixin://";
var createScheme=function(options){
    var urlScheme=baseScheme;
    for(var item in options){
        urlScheme=urlScheme+item + '=' + encodeURIComponent(options[item]) + "&";
    }
    urlScheme = urlScheme.substring(0, urlScheme.length - 1);
    return encodeURIComponent(urlScheme);
};

//实际上就是新建一个iframe的生成器
var  createIframe=(function(){
    var iframe;
    return function(){
        if(iframe){
            return iframe;
        }else{
            iframe = document.createElement('iframe');
            iframe.style.display = 'none';
            document.body.appendChild(iframe);
            return iframe;
        }
    }
})();

var openApp=function(){
    var localUrl=createScheme();
    //var localUrl=baseScheme;
    var openIframe=createIframe();
    if(UA.isIPhone){
        window.location.href = localUrl;
        var loadDateTime = Date.now();
        setTimeout(function () {
            var timeOutDateTime = Date.now();
            if (timeOutDateTime - loadDateTime < 1000) {
                window.location.href = "http://www.qq.com/";
            }
        }, 1000);
    }else if(UA.isAndroid){
        if (UA.isChrome) {
            //chrome浏览器用iframe打不开得直接去打开,算一个坑
            window.location.href = localUrl;
        } else {
            //抛出你的scheme
            openIframe.src = localUrl;
        }
        setTimeout(function () {
            window.location.href = "https://www.baidu.com/";
        }, 500);
    }else{
        //主要是给winphone的用户准备的,实际都没测过,现在winphone不好找啊
        openIframe.src = localUrl;
        setTimeout(function () {
            window.location.href = "https://www.taobao.com/";
        }, 500);
    }
};

一些参考的链接:

http://www.jianshu.com/p/94425b560ca4

http://www.openinstall.io/content.html

http://www.dcloud.io/docs/api/zh_cn/runtime.html (这个是打开默认浏览器的参考)

未经允许不得转载:朱邦邦的博客 » 网页中JS打开拉起或下载指定的APP

赞 (0)

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址