Modernizr不同于传统透过解析浏览器的用户代理的识辨方式,认为这种方式亦不可靠,例如使用者可以手动更改它们浏览器的User agent、即便是相同的网页渲染引擎,在不同的浏览器中也不一定支援相同的功能。因此Modernizr通常会建立一个特定样式的元素,然后立刻尝试改写这些元素的设定,若在支援的浏览器上,元素会回传有意义的值。但在不支援的浏览器则会回传空值或“undefined”。Modernizr 利用这些结果来判断浏览器是否支援这些功能。
Modernizr能测试超过100种以上的次世代功能。测试的结果会储存在一个名为“Modernizr”的物件里,里面包含了测试结果的布林值。并且根据支援或不支援的功能,新增class名称给HTML元素。
在说明文件内提供了许多测试的小段程式码样本,让开发者可以在他们的网站开发工作流程中使用这些测试。
--摘自《维基百科》
简单的说,以前html+css开发人员为了使得各种浏览器对自己的代码兼容,不得不使用各种hacks(利用一些浏览器的漏洞,使得不同浏览器加载不同的css样式)。hacks毕竟不是长久的解决方法,Modernizr就应运而生了。
不说多了,先看使用方法。
test