【问题标题】:Main usaged of modernizr & HTML5shiv librarymodernizr 和 HTML5shiv 库的主要用途
【发布时间】:2013-07-06 18:36:13
【问题描述】:

我从未使用过 HTML5 或 CSS3。我只是在学习并计划稍后在 Web 项目中使用它们。如果我们只是在页面中包含modernizr js文件,这不能帮助我们检测哪个功能有效,而是我们需要为modernizr后备系统编写代码,然后我们决定如何处理不支持任何HTML5功能的情况浏览器。这是一个modernizr后备示例

Modernizr.load({
  test: Modernizr.canvas,
  nope: 'http://flashcanvas.net/bin/flashcanvas.js'
});
  1. 如果 Modernizr 可以处理任何浏览器,那我为什么要使用 HTML5shiv 库?
  2. 为什么页面上已经使用了 Modernizr 时还需要包含 HTML5shiv?
  3. HTML5shiv 库如何工作?是否仅通过包含它就解决了所有 IE 问题?
  4. HTML5shiv 是否提供任何后备系统?
  5. 如果浏览器是IE,如何有条件地加载HTML5shiv库?

请通过代码示例提供您的答案。

期待讨论。谢谢

【问题讨论】:

    标签: modernizr fallback html5shiv


    【解决方案1】:

    如果 Modernizr 可以处理任何浏览器,那我为什么要使用 HTML5shiv 库?

    为什么页面上已经使用了 Modernizr 时还需要包含 HTML5shiv?

    您不需要单独包含 html5shiv,因为 Modernizr 包含它。从 Modernizr 1.5 开始,此脚本与流行的 html5shim/html5shiv 库中使用的脚本相同

    HTML5shiv 库如何工作?是否仅通过包含它就解决了所有 IE 问题?

    html5shiv 只允许 IE 识别和设置 HTML5 元素。仅此而已。

    HTML5shiv 是否提供任何后备系统?

    不,只有 Modernizr 支持特征检测。请注意,Modernizr 本身不会给您后备。您可以使用 yep/nope 为您想要支持的功能提供 polyfill 或回退

    如果浏览器是IE,如何有条件地加载HTML5shiv库?

    使用条件 HTML cmets,这将在 9 以下的 IE 版本上加载 html5shim

    <!--[if lt IE 9]>
    <script src="//html5shim.googlecode.com/svn/trunk/html5.js"></script>
    <![endif]-->
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-08-05
      • 2011-04-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-06
      • 1970-01-01
      相关资源
      最近更新 更多