h5唤起App两种方式 Schema & Universal Link

https://www.jianshu.com/p/cbef3659bf01
http://www.cocoachina.com/articles/13321


总结一下

1.ios9及以上版本,safari只能通过schema-href方式唤起app,其他浏览器如QQ浏览器可以通过href和iframe方式唤起

2.ios的safari可以不弹出打开app弹窗,提升用户体验,需要用Universal Links方式配置apple-app-site-association文件

3.微信环境,不能通过schema协议唤起app,需要Universal Links方式配置apple-app-site-association文件http://xxx.xxx.com/apple-app-site-association

代码

//schema
window.location.href = schemaUrl;

//iframe
function iframeBridge(url) {
    let ifr = document.createElement("iframe");
    ifr.src = url;
    ifr.style.display = "none";
    document.body.appendChild(ifr);
    setTimeout(function () {
        document.body.removeChild(ifr);
    }, 1000);
};
let url = "schema://xxxxx"
let UA = navigator.userAgent;

if (navigator.userAgent.match(/(iPhone|iPod|iPad);?/i)) {
    let iOS = UA.match(/(iPhone\sOS)\s([\d]+)/) || UA.match(/(iPad).*OS\s([\d_]+)/)             || UA.match(/(iPod)(.*OS\s([\d_]+))?/);
    let iOS9 = parseInt(iOS[2], 10);
    if (iOS9 >= 9) {
        window.location.href = url;
    } else {
        iframeBridge(url);
    }
} else if (navigator.userAgent.match(/android/i)) {
    iframeBridge(url);
}

//微信环境
UA.toLowerCase().match(/MicroMessenger/i) == 'micromessenger'

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值