主要用于现代化和现代化HTML5shiv库

时间:2013-07-09 08:24:35

标签: modernizr fallback html5shiv

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

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库?
  6. 请提供代码示例的答案。

    期待讨论。感谢

1 个答案:

答案 0 :(得分: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注释,这将在9以下的IE版本上加载html5shim

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