Navigator 對象包含有關瀏覽器的信息。android
不少時候咱們須要在判斷網頁所處的瀏覽器和平臺,Navigator爲咱們提供了便利ios
Navigator常見的對象屬性以下:web
屬性 | 描述 |
---|---|
appCodeName | 返回瀏覽器的代碼名。 |
appMinorVersion | 返回瀏覽器的次級版本。 |
appName | 返回瀏覽器的名稱。 |
appVersion | 返回瀏覽器的平臺和版本信息。 |
browserLanguage | 返回當前瀏覽器的語言。 |
cookieEnabled | 返回指明瀏覽器中是否啓用 cookie 的布爾值。 |
cpuClass | 返回瀏覽器系統的 CPU 等級。 |
onLine | 返回指明系統是否處於脫機模式的布爾值。 |
platform | 返回運行瀏覽器的操做系統平臺。 |
systemLanguage | 返回 OS 使用的默認語言。 |
userAgent | 返回由客戶機發送服務器的 user-agent 頭部的值。 |
userLanguage | 返回 OS 的天然語言設置。 |
咱們使用的比較多的是他的userAgent,常常須要判斷的狀況有:瀏覽器
(1)PC仍是移動端服務器
(2)安卓仍是IOScookie
(3)瀏覽器的類型app
示例代碼:ide
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 }
判斷是否移動端spa
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 }