瀏覽器類型及版本檢測

    在設計網頁和開發Javascript時,由於不同瀏覽器的兼容特性不盡相同,因此就有必要再開始開發之前檢測瀏覽器的相關信息,把網頁的加載環境搞清楚,這樣纔能有的放矢,避免出現不兼容的情況。

    瀏覽器的種類及版本檢測很簡單,我們只要用window.navigator.userAgent屬性來詢問瀏覽器的自描述信息就可以了,這個屬性是一個字符串,最常見的方法就是檢測這個串內是否包含特定的標誌字符來確定瀏覽器的種類及版本!那麼這個屬性的完整信息是什麼樣的呢,下面就是在本機的不同瀏覽器下的輸出:

Opera——Opera/9.20 (Windows NT 5.2; U; en)

Firefox——Mozilla/5.0 (Windows; U; Windows NT 5.2; zh-CN; rv:1.9.0.8) Gecko/2009032609 Firefox/3.0.8 (.NET CLR 3.5.30729)

Chrome——Mozilla/5.0 (Windows; U; Windows NT 5.2; en-US) AppleWebKit/525.19 (KHTML, like Gecko)Chrome/1.0.154.42 Safari/525.19

IE8——Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.2; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022; CIBA; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; InfoPath.2)

IE6——mozilla/4.0 (compatible; msie 6.0; windows nt 5.2; sv1; .net clr 1.1.4322; .net clr 2.0.50727; .net clr 3.0.04506.648; .net clr 3.5.21022; ciba)

    可以看出不同的瀏覽器描述中都指明瞭自身的類型和版本,這樣就可以根據不同的字符來檢測版本了!

    除了版本之外,還可以從自描述信息中獲得更多信息,如操作系統及版本、語言類別、內核類別,在IE下還會詳細列舉出系統中安裝的所有.NET版本,Firefox下只會列舉出被植入.NET擴展的版本信息,這些信息用於客戶端統計非常方便,可以使網頁設計更傾向於大多數的客戶端,例如可以通過.NET版本檢測把安裝了.NET3.0以上版本的客戶端瀏覽器導向到基於瀏覽器的WPF版本,其它客戶端導向到普通html版本的頁面。

   在IE中window.navigator還提供了cpuClass及platform屬性,可以檢測到cpu類型及系統位寬!

   window.navigator.plugins屬性在IE及Firefox中有不同的實現,主要枚舉出瀏覽器中安裝的插件,可供參考!

發佈了34 篇原創文章 · 獲贊 1 · 訪問量 15萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章