39

我知道网站上有很多关于这两个脚本库的好问题。

我想问一些我似乎在他们中找不到的东西。

Modernizr提供了什么html5shiv不是开箱即用的,也就是说,只包括脚本。

我知道 html5shiv “只是”修复了 IE < 9 的 HTML5 元素,它的支持是否止步于此?

Modernizr 是否修复了 IE 导航器上的 CSS3 问题?ie9.js 会这样做吗?(我的意思是开箱即用的这个特殊问题,没有额外的 js 代码来处理极端情况)

当您考虑使用除了包含脚本之外的库时,Modernizr 相对于 html5shiv 的优势是什么?

4

2 回答 2

55

他们做不同的事情。

Modernizr 检测页面中功能的可用性,如果您需要该功能,您可以为旧浏览器提供自己的 polyfill。您可以添加对<canvas>使用 canvas 标签 polyfill 的支持,以便在不支持该<canvas>标签的浏览器中使用 canvas 功能,包括它的 JavaScript 界面。

Html5shiv 将不可用的新 html5 标签(<section>、、<header>等)添加到旧版浏览器。它还创建默认样式(display: block例如<section>)。

就是这样。它不提供其他功能。

于 2012-03-10T02:19:07.197 回答
40

Modernizr 1.5+ 实际上包含 HTML5Shiv,所以如果你使用它,shiv 是多余的。资料来源: http: //modernizr.com/docs/#html5inie

"As of Modernizr 1.5, this script is identical to what is used in the popular html5shim/html5shiv library."

于 2013-03-23T00:35:49.087 回答