2013-07-09 13 views
1

我从来没有使用HTML5或CSS3。我只是学习并计划在稍后的Web项目中使用它们。如果我们只是在页面中包含modernizr js文件,并不能帮助我们检测哪些功能有效,那么我们需要为modernizr后备系统编写代码,并且如果HTML5功能不受支持,我们将决定如何处理情况。浏览器。这里是一个Modernizr的备用例如modernizr&HTML5shiv库的主要用法

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库?

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

期待讨论。谢谢

回答

1

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

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

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

HTML5shiv库如何工作?它只是通过包括它解决所有IE问题?

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

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

不,只有Modernizr支持特征检测。请注意,Modernizr本身并不会给您提供回退。你可以使用yep/nope提供polyfills或回退给你想支持

如果浏览器是IE如何有条件地加载HTML5shiv库中的要素?

使用条件HTML注释,这将加载html5shim上IE版本低于9

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