1. 程式人生 > >JS判斷瀏覽器iOS(iPhone)、Android手機移動端

JS判斷瀏覽器iOS(iPhone)、Android手機移動端

通過判斷瀏覽器的userAgent,用正則來判斷手機是否是iosAndroid客戶端。網上搜索來的,比較簡單:

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

下面一個比較全面的瀏覽器檢查函式,提供更多的檢查內容,你可以檢查是否是移動端Mobile、ipad、iphone、微信、QQ等。

  1. //判斷訪問終端
  2. var browser
    ={
  3. versions:function(){
  4. var u = navigator.userAgent, app = navigator.appVersion;
  5. return{
  6. trident: u.indexOf('Trident')>-1,//IE核心
  7. presto: u.indexOf('Presto')>-1,//opera核心
  8. webKit: u.indexOf('AppleWebKit')>-1,//蘋果、谷歌核心
  9. gecko: u.indexOf('Gecko')>-1&&
    u.indexOf('KHTML')==-1,//火狐核心
  10. mobile:!!u.match(/AppleWebKit.*Mobile.*/),//是否為移動終端
  11. ios:!!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/),//ios終端
  12. android: u.indexOf('Android')>-1|| u.indexOf('Adr')>-1,//android終端
  13. iPhone: u.indexOf('iPhone')>-1,//是否為iPhone或者QQHD瀏覽器
  14. iPad
    : u.indexOf('iPad')>-1,//是否iPad
  15. webApp: u.indexOf('Safari')==-1,//是否web應該程式,沒有頭部與底部
  16. weixin: u.indexOf('MicroMessenger')>-1,//是否微信 (2015-01-22新增)
  17. qq: u.match(/\sQQ/i)==" qq"//是否QQ
  18. };
  19. }(),
  20. language:(navigator.browserLanguage || navigator.language).toLowerCase()
  21. }

使用也很簡單:

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

檢測瀏覽器語言

  1. //code from http://caibaojian.com/browser-ios-or-android.html
  2. currentLang = navigator.language;//判斷除IE外其他瀏覽器使用語言
  3. if(!currentLang){//判斷IE瀏覽器使用語言
  4. currentLang = navigator.browserLanguage;
  5. }
  6. alert(currentLang);