JS中的Navigator 對象


Navigator 對象包含有關瀏覽器的信息。

很多時候我們需要在判斷網頁所處的瀏覽器和平台,Navigator為我們提供了便利

Navigator常見的對象屬性如下:

屬性 描述
appCodeName 返回瀏覽器的代碼名。
appMinorVersion 返回瀏覽器的次級版本。
appName 返回瀏覽器的名稱。
appVersion 返回瀏覽器的平台和版本信息。
browserLanguage 返回當前瀏覽器的語言。
cookieEnabled 返回指明瀏覽器中是否啟用 cookie 的布爾值。
cpuClass 返回瀏覽器系統的 CPU 等級。
onLine 返回指明系統是否處於脫機模式的布爾值。
platform 返回運行瀏覽器的操作系統平台。
systemLanguage 返回 OS 使用的默認語言。
userAgent 返回由客戶機發送服務器的 user-agent 頭部的值。
userLanguage 返回 OS 的自然語言設置。

我們使用的比較多的是他的userAgent,經常需要判斷的情況有:

(1)PC還是移動端

(2)安卓還是IOS

(3)瀏覽器的類型

示例代碼:

 1 var browser={  2     versions:function(){  3         var u = navigator.userAgent, app = navigator.appVersion;  4         return {         //移動終端瀏覽器版本信息
 5               trident: u.indexOf('Trident') > -1, //IE內核
 6               presto: u.indexOf('Presto') > -1, //opera內核
 7               webKit: u.indexOf('AppleWebKit') > -1, //蘋果、谷歌內核
 8               gecko: u.indexOf('Gecko') > -1 && u.indexOf('KHTML') == -1, //火狐內核
 9               mobile: !!u.match(/AppleWebKit.*Mobile.*/), //是否為移動終端
10               ios: !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/), //ios終端
11               android: u.indexOf('Android') > -1 || u.indexOf('Linux') > -1, //android終端或uc瀏覽器
12               iPhone: u.indexOf('iPhone') > -1 , //是否為iPhone或者QQHD瀏覽器
13               iPad: u.indexOf('iPad') > -1, //是否iPad
14               webApp: u.indexOf('Safari') == -1 //是否web應該程序,沒有頭部與底部
15  }; 16  }(), 17     language:(navigator.browserLanguage || navigator.language).toLowerCase() 18 }

判斷是否移動端

1 if(browser.versions.mobile){ 2 console.log('我是移動端'); 3 }

還可以用另一種方式判斷

1 var s=document.hasOwnProperty("ontouchstart");//電腦返回false,手機為true
2 console.log(s);

 

判斷安卓還是IOS

1 if(browser.versions.ios){ 2      console.log('我是IOS'); 3 } 4 if(browser.version.andriod){ 5      console.log('我是安卓'); 6 }

判斷瀏覽器的類型

 1 if(browser.versions.trident){  2     console.log('我是IE');  3 }  4 if(browser.versions.presto){  5     console.log('我是opera');  6 }  7 if(browser.versions.webKit){  8     console.log('我是蘋果和谷歌');  9 } 10 if(browser.versions.gecko){ 11     console.log('我是火狐'); 12 }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM