様々な方式でPC端、IOS端、モバイル端末を判断します.
1.ブラウザのuserAgentを判断し、携帯電話がIOS(アップル)とAndroid(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.判断 モバイル端末、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);