JS判斷瀏覽器iOS(iPhone)、Android手機移動端
阿新 • • 發佈:2019-01-31
通過判斷瀏覽器的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終端
下面一個比較全面的瀏覽器檢查函式,提供更多的檢查內容,你可以檢查是否是移動端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&&
- 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
- 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("移動端");}
檢測瀏覽器語言
- //code from http://caibaojian.com/browser-ios-or-android.html
- currentLang = navigator.language;//判斷除IE外其他瀏覽器使用語言
- if(!currentLang){//判斷IE瀏覽器使用語言
- currentLang = navigator.browserLanguage;
- }
- alert(currentLang);