我知道网站上有很多关于这两个脚本库的好问题。
我想问一些我似乎无法在其中找到的东西。
Modernizr提供的内容html5shiv没有开箱即用,即只包含脚本。
我知道html5shiv“只是”修复IE的HTML5元素< 9,它的支持是否停在那里?
Modernizr是否修复了IE导航器上的CSS3问题? ie9.js那样做吗? (我的意思是这个特殊的问题开箱即用,没有额外的js代码来处理角落案例)
除了包含脚本之外,当您考虑使用库时,Modernizr优于html5shiv有什么优势?
答案 0 :(得分:53)
他们做不同的事情。
Modernizr检测页面中功能的可用性,允许您在需要该功能时为旧版浏览器提供自己的polyfill。您可以使用canvas标签polyfill添加对<canvas>
的支持,以便在不支持<canvas>
标记的浏览器中使用canvas功能,包括它的JavaScript接口。
Html5shiv将新的html5标记添加到旧浏览器中(<section>
,<header>
等)。它还会创建默认样式(例如display: block
为<section>
)。
就是这样。它没有提供其他功能。
答案 1 :(得分:39)
Modernizr 1.5+实际上包含HTML5Shiv,所以如果你使用它,shiv是多余的。资料来源:http://modernizr.com/docs/#html5inie
“从Modernizr 1.5开始,这个脚本与流行的html5shim / html5shiv库中的脚本相同。”