1. 程式人生 > >多種方式判斷PC端,IOS端,移動端

多種方式判斷PC端,IOS端,移動端

1. 通過判斷瀏覽器的userAgent,用正則來判斷手機是否是IOS(蘋果)和Android(安卓)客戶端。

var u = navigator.userAgent;
var isAndroid = u.indexOf('Android') > -1 || u.indexOf('Adr') > -1; //android終端
var isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios終端

ture 是  false 否

2.判斷是PC 還是移動端

//判斷是否手機端訪問
    var userAgentInfo = navigator.userAgent.toLowerCase();
    var Agents = ["android", "iphone",
                "symbianos", "windows phone",
                "ipad", "ipod"];
    var ly=document.referrer;  //返回導航到當前網頁的超連結所在網頁的URL

    for (var v = 0; v < Agents.length; v++) {
        if (userAgentInfo.indexOf(Agents[v]) >= 0&&(ly==""||ly==null)) {
            this.location.href='http://m.***.com';  //wap端地址
        }
    }

3.判斷 移動端(Mobile)、ipad、iphone、微信、QQ等

//判斷訪問終端
var browser={
    versions:function(){
        var u = navigator.userAgent, 
            app = navigator.appVersion;
        return {
            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, //是否微信 (2015-01-22新增)
            qq: u.match(/\sQQ/i) == " qq" //是否QQ
        };
    }(),
    language:(navigator.browserLanguage || navigator.language).toLowerCase()
}


使用方法:

//判斷是否IE核心
if(browser.versions.trident){ alert("is IE"); }
//判斷是否webKit核心
if(browser.versions.webKit){ alert("is webKit"); }
//判斷是否移動端
if(browser.versions.mobile||browser.versions.android||browser.versions.ios){ alert("移動端"); }

currentLang = navigator.language;   //判斷除IE外其他瀏覽器使用語言
if(!currentLang){//判斷IE瀏覽器使用語言
    currentLang = navigator.browserLanguage;
}
alert(currentLang);