Modernizr和Html5Shiv有什么区别?


12

我在想切换到html5的想法。似乎有2个主要脚本可用于处理旧版浏览器上的html5。

Html5Shiv和Modernizr

我想知道他们是否做同样的事情。选择哪一个,为什么?

有任何想法吗?

Answers:


8

Modernizr用于检查不同渲染引擎中HTML5功能的可用性。它包括Html5Shiv之类的脚本,该脚本(仅)在Microsoft Internet Explorer(知道HTML5的版本9之前)上启用HTML5标签。另请参阅“如何使HTML5在IE和Firefox 2中工作”

如果您只想为IE <9启用HTML5,那么Html5Shiv就足够了。我在MS条件注释中使用Remy SharpHtml5Shiv版本

<!--[if lte IE 8]>
    <script src="templates/js/html5.js"></script>
<![endif]-->

如果您还想检查(通过CSS或JS),如果客户端浏览器支持HTML5表单元素(例如Operas日期输入),CSS3列或渐变,则可以使用Modernizr


2

您可能还想查看html5boilerplate.com,这是从html5网站开始的好资源,它们提供了可切换的选择,例如html5 shiv或modernizr以及许多其他基线改进。


是的html5boilerplate很好。它可以选择modernizr或html5shiv。但是要包括哪一个呢?
Sinan

公平地说,我猜html5是什么提示问题?
Kzqai 2011年

1

我知道这是从前一段时间开始的,但是我觉得我应该补充一点,Modernizr似乎并不能填充通过AJAX加载的HTML5元素-它仅适用于初始页面加载时存在的内容。Html5Shiv确实可以处理通过AJAX加载的内容,但这也只是modernizr功能集的一小部分。实际上,我们正在使用的Web应用程序同时使用这两种功能。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.