【js】獲取用戶瀏覽器類型、版本號


一、Navigator 對象

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

注釋:沒有應用於 navigator 對象的公開標准,不過所有瀏覽器都支持該對象

二、Navigator 對象屬性

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

 

 

三、Navigator 對象方法

方法 描述
javaEnabled() 規定瀏覽器是否啟用 Java。
taintEnabled() 規定瀏覽器是否啟用數據污點 (data tainting)。

 

 

四、Navigator 對象描述

Navigator 對象包含的屬性描述了正在使用的瀏覽器。可以使用這些屬性進行平台專用的配置。

雖然這個對象的名稱顯而易見的是 Netscape 的 Navigator 瀏覽器,但其他實現了 JavaScript 的瀏覽器也支持這個對象。

Navigator 對象的實例是唯一的,可以用 Window 對象的 navigator 屬性來引用它。

五、封裝一個 browser() 方法

為了方便使用,這里創建一個方法來返回瀏覽器的檢查結果。返回結果包含有如下屬性:

  • webkit:webkit 版本號。如果瀏覽器為非 webkit 內核,此屬性為 undefined
  • chrome:chrome 瀏覽器版本號。如果瀏覽器為 chrome,此屬性為 undefined
  • ie:ie 瀏覽器版本號。如果瀏覽器為非 ie,此屬性為 undefined。暫不支持 ie10+
  • firefox:firefox 瀏覽器版本號。如果瀏覽器為非 firefox,此屬性為 undefined
  • safari:safari 瀏覽器版本號。如果瀏覽器為非 safari,此屬性為 undefined
  • opera:opera 瀏覽器版本號。如果瀏覽器為非 opera,此屬性為 undefined

1、定義

function browser() {
  var ua = navigator.userAgent;
  var ret = {},
      webkit = ua.match( /WebKit\/([\d.]+)/ ),
      chrome = ua.match( /Chrome\/([\d.]+)/ ) ||
          ua.match( /CriOS\/([\d.]+)/ ),
 
      ie = ua.match( /MSIE\s([\d\.]+)/ ) ||
          ua.match( /(?:trident)(?:.*rv:([\w.]+))?/i ),
      firefox = ua.match( /Firefox\/([\d.]+)/ ),
      safari = ua.match( /Safari\/([\d.]+)/ ),
      opera = ua.match( /OPR\/([\d.]+)/ );
 
  webkit && (ret.webkit = parseFloat( webkit[ 1 ] ));
  chrome && (ret.chrome = parseFloat( chrome[ 1 ] ));
  ie && (ret.ie = parseFloat( ie[ 1 ] ));
  firefox && (ret.firefox = parseFloat( firefox[ 1 ] ));
  safari && (ret.safari = parseFloat( safari[ 1 ] ));
  opera && (ret.opera = parseFloat( opera[ 1 ] ));
console.log(ua);
return ret; }

2、應用

console.log(browser());

3、效果圖(在chrome瀏覽器中測試的)

 

 

 

 

 

 

相關資料:


免責聲明!

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



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