JS 判断是否是微信浏览器,并判断客户端类型

需求描述,就是做一个应用下载的落地页。
主要是静态页面(完全使用flex布局,就跟RN差不多喽),就俩按钮“打开App”和“下载App”。
如果是微信中打开连接,需要提示用户去浏览器打开,点击打开App时,如果未安装则下载App。

  • 通过JS判断当前是否是微信浏览器
var isWeixin = function () { //判断是否是微信
    var ua = navigator.userAgent.toLowerCase();
    return ua.match(/MicroMessenger/i) == "micromessenger";
};
  • 判断当前客户端是iOS还是Android
if (navigator.userAgent.match(/(iPhone|iPod|iPad);?/i)) { //判断是否是iOS
}
if (navigator.userAgent.match(/android/i)) { //判断是否是Android
}
  • 如果安装应用则打开应用,否则下载应用
    Android实现原理,优先尝试打开DeepLink链接,延迟跳转下载:
if (navigator.userAgent.match(/android/i)) {
                try {
                    window.location = schema;
                    setTimeout(function () {
                        window.location = androidDownUrl; //android下载地址
                    }, 500);
                } catch (e) {
                }
}

如果是iOS的话,9.0之前版本跟Android方法雷同,在9.0+建议支持UniversalLink....
iOS的就不写了,需要的自己搞代码吧............

推荐阅读更多精彩内容