Modernizr.js介紹

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

什么是Modernizr?

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

下載 Modernizr

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

重點(diǎn):
    <head> 的最后三行應(yīng)該如下所示:

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

一句忠告

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

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

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

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

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