做这样的判断,原则上应该是后台程序判断处理,更为严谨;但是在一些h5页面中,不需要太严格,则通过js也可做对应判断。

原理:通过判断客户端的userAgent方式解决。

代码如下:

var $rongyinu_app="rongyinu://com.rongyinu.platform"; //app程序协议,可对应调取打开相应app
var $android_url="/download/app1";
var $ios_url="/download/app2";
var $pc_url="http://www.baidu.com";

if (/android/i.test(navigator.userAgent)){
    //判断为android
    if (navigator.userAgent.match(/MicroMessenger/i) != 'MicroMessenger'){
        //非微信,即浏览器访问
        window.location = $android_url;
        /*if(navigator.userAgent.indexOf('Chrome')>-1){
            //安卓原生浏览器支持scheme协议,可直接打开相应程序
            window.location = $rongyinu_app;
            setTimeout(function(){
                //此处如果执行则表示没有app
                window.location = $android_url;
            },600);
        }else{
            //非谷歌不支持scheme协议,则跳转至下载地址
            window.location = $android_url;
        }*/
    } else {
        //微信中不支持下载,则显示相应提示页面
        document.getElementById('weixin_pageto').style.display="block";
    }
}else if (/ipad|iphone/i.test(navigator.userAgent)){
    //判断为ios
    window.location = $rongyinu_app;
    setTimeout(function(){
        //此处如果执行则表示没有app
        window.location = $ios_url;
    },600);

}else{//pc端访问
    window.location = $pc_url;
}

标签: none

添加新评论

选择表情