在html5shiv Google Code page上,示例用法包括IE条件:
<!--[if lt IE 9]>
<script src="dist/html5shiv.js"></script>
<![endif]-->
但是在html5shiv github page上,说明解释了:
此脚本是启用HTML5切片的实际方法 旧版Internet Explorer中的元素,以及默认的HTML5样式 在Internet Explorer 6 - 9, Safari 4.x (以及 iPhone 3.x )中, 和 Firefox 3.x 。
一个明显的矛盾。所以为了满足我的好奇心,对于那些研究过代码的人来说,在每个浏览器中加载 html5shiv 会有不利的副作用(没有IE条件)吗?
编辑:显然,我的目标是在没有IE条件的情况下使用shiv。
答案 0 :(得分:4)
我认为googlecode页面上的条件评论(可能超过一年前更新)是因为IE8及以下版本需要javascript trick来允许HTML5元素的 css样式。
FF4,Safari 4,Opera 11及以下版本不会将display:block
默认为“未知”元素,但您只需CSS reset即可更改此行为。
html5shiv在这些浏览器上的作用只是在<style>
的开头添加<head>
,与此类似:
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
display: block;
}
来源:http://meyerweb.com/eric/tools/css/reset/
因此, 不应该 给出任何副作用,因为这些规则可以被连续的声明覆盖。
只要您在主CSS文件的顶部添加该规则,就可以有条件地仅为IE包含html5shiv,您将保存一个http请求。
如果你想让你的html5网站与FF2兼容(如果是这样,那你就是疯子),check this tutorial。
OP发现html5shiv已经为FF2提供了后备!