一、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瀏覽器中測試的)