Modernizr.js介紹

Modernizr 是一個 javascript 庫,它的作用是檢查你的游覽器是否支持 CSS3 或者 HTML5 的特性而自動添加一些類名(class)到 <html> ,并替換掉原來的 .no-js(簡單來說,Modernizr 就是一個CSS3/HTML5 的測試器,你需要測試什么,就可以到它的官方網(wǎng)站配置,選擇自己需要測試的元素)。

什么是Modernizr?

Modernizr 是一個用來檢測瀏覽器功能支持情況的 JavaScript 庫。 目前,通過檢驗瀏覽器對一系列測試的處理情況,Modernizr 可以檢測18項 CSS3 功能以及40多項關于HTML5 的功能。 它比傳統(tǒng)檢測瀏覽器名稱(瀏覽器嗅探)的方式更為可靠。 一整套測試的執(zhí)行時間僅需幾微秒。 此外,Modernizr 網(wǎng)站通過定制腳本只對你感興趣的元素進行檢測,從而實現(xiàn)效率優(yōu)化。

下載 Modernizr

與其它 JavaScript 庫相同的是,Modernizr 可提供 development 和 production 版本。 與大多數(shù)庫相比,唯一的不同之處是,空格和注釋已經(jīng)從 production 版本中刪除了,這樣可以減少下載量的大小。 Modernizr 采取了不同的方法。 development 版本在某種意義上可稱為是“廚房中的水槽”—它幾乎包含了一切。 production 版本只包含了你選擇的那些元素,這樣能夠顯著降低下載量。 在很多情況下,production 版本可以縮小為development版本大小的二十分之一。

重點:
    <head> 的最后三行應該如下所示:

</style>
    <script src="js/modernizr.js"></script>
    </head>
  
  在html標簽中添加no-js的class,當支持javascript的瀏覽器啟動時,會動態(tài)地刪除這個no-js的class。并且會在html標簽中添加當前瀏覽器所支持的元素同名class。

一句忠告

Modernizr 是一個強大而有用的工具,但是這并不意味著你就應該使用它。 并不是在所有情形下均必須使用 Modernizr 給瀏覽器提供多種樣式。 如果你主要關注的對象是 Internet Explorer,那么考慮使用IE conditional comments。 你也可以使用CSS層疊覆蓋一些樣式。 例如,先使用hexadecimal color,然后使用 rgba() 或 hsla() 覆蓋它。 舊版本的瀏覽器會使用第一個值并且忽略第二個值。
Modernizr 真正地變成現(xiàn)實是當它與 polyfills 和其它 JavaScript 相結合的時候。但是記住,通常很容易創(chuàng)建屬于你自己的適合支持功能的測試。例如,下面就是你測試某個瀏覽器是否支持 required 屬性的全部代碼(代碼位于required_nomodernizr.html 中):
var elem = document.createElement('input');
if (typeof elem.required != 'boolean'){
  // required is not supported
}

更加詳細的說明可查看:http://caibaojian.com/modernizr-js.html

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容