DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> HTML基礎知識 >> HTML和Xhtml >> modernizr:檢測浏覽器對HTML5和CSS3特性
modernizr:檢測浏覽器對HTML5和CSS3特性
編輯:HTML和Xhtml     

好吧,現在流行HTML5,我就給它標題加上個HTML5吧 :)

其實modernizr就是為HTML5而生的——它是一個檢測浏覽器對HTML5和CSS3特性支持的JS庫,著名的HTML5/CSS3浏覽器兼容性網站FindmeByIP就是基於該框架實現的。

可以看到,右下角綠色按鈕上面有Modernizr的鏈接。

Modernizr的功能

modernizr的功能其實很簡單,就是用js檢測浏覽器對HTML5/CSS3的特性支持情況,支持某個屬性,就在頁面的<html>標簽上添加一個相應的class,不支持的話就添加一個no-前綴的class,比如,如果檢測的浏覽器支持video標簽,modernizr就會在<html>標簽上添加video類,否則,添加no-video類。

查看FindMeByIP的源碼或者用firebug之類的工具查看頁面代碼,就可以看到<HTML>標簽中的class。

另外,modernizr也提供了另外一種用法,就是單獨的檢測浏覽器對某個特性的支持情況,例如:

if (Modernizr.video) {}

通過類似的接口檢測浏覽器對HTML5的支持情況,是比較安全的。

浏覽器檢測:UA VS 特性

其實大家通常都會用UA去檢測一個浏覽器,當然ua也提供了更豐富的信息,UA不是萬能的,它也有一些弱點,比如,用戶浏覽器的UA偽裝,某些落後浏覽器提供的UA信息太少,這些都會影響到對浏覽器信息的判斷。更重要的是,對於HTML5特性來說,用UA去判斷一個浏覽器是否支持某個特性,實現太復雜而且不靠譜

當然,關於UA和特性檢測的爭論一直都有,我這裡想說的是,具體問題具體分析,在網站中使用HTML5來檢測特性支持要比UA更靠譜、更方便~~

使用Modernizr

modernizr的用法很簡單,僅僅在頁面中引入庫的js文件即可:

<script type="text/javascript" src="modernizr-1.5.js"></script>

Modernizr是開源的,但是由於某種原因,它被G-FW給封掉了。

Modernizr @ git

modernizr項目托管在git,你可以通過以下地址獲取它:
http://github.com/Modernizr/Modernizr
作者還在git提供了一個簡單的輸出頁:
http://modernizr.github.com/Modernizr/output.html
和一個詳細測試頁面:
http://modernizr.github.com/Modernizr/test/index.html

擴展閱讀:

detacting HTML5 features
Safely Deploy HTML5 and CSS3 with Modernizr

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved