js 判斷經過什麼打開(安卓、蘋果、微信、QQ、瀏覽器、某個app應用…)

/* 獲取當前環境: 
    系統環境: iOS Android PC
    瀏覽器環境 微信內置瀏覽器、QQ內置瀏覽器、正常瀏覽器
    是否app內打開
*/

var ua = navigator.userAgent.toLowerCase(); //獲取瀏覽器標識並轉換爲小寫


var curConfig = {
    isiOS: !!navigator.userAgent.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/), //是否蘋果
    isAndroid: ua.indexOf('android') > -1 || ua.indexOf('adr') > -1, //是否安卓
    isPC: isPC(), //是否PC
    isWeiXin: ua.match(/MicroMessenger/i) == "micromessenger", //是否微信
    isQQ: ua.indexOf(' qq/') > -1, //是否QQ
    isApp: ua.indexOf('isApp') > -1, //是否某個應用
};
setTimeout(function() {
    $('#span_ua').html(ua); //打印
    $('#span_config').html(JSON.stringify(curConfig));
}, 100);


function isPC() {
    var Agents = new Array("android", "iphone", "symbianOS", "windows phone", "ipad", "ipod");
    var flag = true;
    for (var v = 0; v < Agents.length; v++) {
        if (ua.indexOf(Agents[v]) > 0) {
            flag = false;
            break;
        }
    }
    return flag;
}

 

                $rootScope.browser = {
                    versions: function() {
                        var u = navigator.userAgent,
                            app = navigator.appVersion;
                        return {
                            u: u,
                            trident: u.indexOf('Trident') > -1, //IE內核
                            presto: u.indexOf('Presto') > -1, //opera內核
                            webKit: u.indexOf('AppleWebKit') > -1, //蘋果、谷歌內核
                            gecko: u.indexOf('Gecko') > -1 && u.indexOf('KHTML') == -1, //火狐內核
                            mobile: !!u.match(/AppleWebKit.*Mobile.*/), //是否爲移動終端
                            ios: !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/), //ios終端
                            android: u.indexOf('Android') > -1 || u.indexOf('Adr') > -1, //android終端
                            iPhone: u.indexOf('iPhone') > -1, //是否爲iPhone或者QQHD瀏覽器
                            iPad: u.indexOf('iPad') > -1, //是否iPad
                            webApp: u.indexOf('Safari') == -1, //是否web應該程序,沒有頭部與底部
                            weixin: u.indexOf('MicroMessenger') > -1, //是否微信 
                            qq: u.match(/\sQQ/i) == " qq" //是否QQ
                        };
                    }(),
                    language: (navigator.browserLanguage || navigator.language).toLowerCase()
                };
                $rootScope.ostypeReal = $rootScope.browser.versions.ios || $rootScope.browser.versions.iPad ? 'ios' : 'android';
                $rootScope.ostype = 'android';

 

 
 
function isPC() {
    var Agents = new Array("android", "iphone", "symbianOS", "windows phone", "ipad", "ipod");
    var flag = true;
    for (var v = 0; v < Agents.length; v++) {
        if (ua.indexOf(Agents[v]) > 0) {
            flag = false;
            break;
        }
    }
    return flag;
}

var ua = navigator.userAgent.toLowerCase();

function bower() {
    return {
        isiOS: !!navigator.userAgent.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/),
        isAndroid: ua.indexOf('android') > -1 || ua.indexOf('adr') > -1,
        isPC: isPC(),
        isWeiXin: ua.match(/MicroMessenger/i) == "micromessenger",
        isQQ: ua.indexOf(' qq/') > -1,
        isVrseen: ua.indexOf('vrseen') > -1,
    }
}
console.log(JSON.stringify(bower()))
console.log(JSON.stringify(bower().isQQ))
 
 

 

 

 

/*2017-10-26*/
function isPC() {
    var Agents = new Array("android", "iphone", "symbianOS", "windows phone", "ipad", "ipod");
    var flag = true;
    for (var v = 0; v < Agents.length; v++) {
        if (ua.indexOf(Agents[v]) > 0) {
            flag = false;
            break;
        }
    }
    return flag;
}
var ua = navigator.userAgent.toLowerCase();

function bower() {
    return {
        isiOS: !!navigator.userAgent.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/),
        isAndroid: ua.indexOf('android') > -1 || ua.indexOf('adr') > -1,
        isPC: isPC(),
        isWeiXin: ua.match(/MicroMessenger/i) == "micromessenger",
        isQQ: ua.indexOf(' qq/') > -1,
        isVrseen: ua.indexOf('vrseen') > -1
    }
}

function myclick(aid) {
    //安卓手機
    if (bower().isAndroid) {
        // 首先判斷是不是 webview  若是包含  VRSeen  說明是咱們本身的webview瀏覽器打開的
        if (bower().isVrseen) {
            // 內鏈,走安卓方法,回到詳情頁
            window.android.getAppDetail(aid);
        } else if (bower().isWeiXin) {
            //微信打開
            alert('這是微信中,請經過瀏覽器打開!');
        } else if (bower().isQQ) {
            //QQ打開
            var url = 'vrseenstore://vrseenstore.com/open?aId=' + aid;
            window.location.href = url;
        } else {
            // 外鏈,走 scheme 方法   vrseenstore://vrseenstore.com/open?aId=689
            var url = 'vrseenstore://vrseenstore.com/open?aId=' + aid;
            window.location.href = url;
        }
    } else if (bower().isiOS) {
        //IOS手機
        if(bower().isWeiXin){
            //微信打開
            alert('這是微信,請經過瀏覽器打開');
        }else if(bower().isQQ){
            alert('這是QQ,請經過瀏覽器打開');
        }
        
    } else{
        alert('請在安卓手機上玩!')
    }
}
相關文章
相關標籤/搜索