Javascript 在每个浏览器中加载html5shiv是否有任何不良副作用?

Javascript 在每个浏览器中加载html5shiv是否有任何不良副作用?,javascript,html,browser,Javascript,Html,Browser,在上,示例用法包括一个IE条件: <!--[if lt IE 9]> <script src="dist/html5shiv.js"></script> <![endif]--> 但是,在本说明中,说明如下: 该脚本实际上是支持使用HTML5分段的方法 传统Internet Explorer中的元素,以及默认的HTML5样式 在InternetExplorer6-9中,Safari4.x(和iPhone3.x), 和Firefox3.

在上,示例用法包括一个IE条件:

<!--[if lt IE 9]>
    <script src="dist/html5shiv.js"></script>
<![endif]-->

但是,在本说明中,说明如下:

该脚本实际上是支持使用HTML5分段的方法 传统Internet Explorer中的元素,以及默认的HTML5样式 在InternetExplorer6-9中,Safari4.x(和iPhone3.x), 和Firefox3.x

明显的矛盾。因此,为了满足我的好奇心,对于任何研究过代码的人来说,在每个浏览器中加载html5shiv(没有IE条件)是否有任何负面影响


编辑:很明显,我的目标是在没有IE条件的情况下使用shiv。

我认为谷歌代码页面上的条件注释(可能在一年多前更新)是因为IE8及以下版本需要一个允许HTML 5元素css样式化的框架

FF4、Safari 4、Opera 11及以下版本只是不将
display:block
作为默认值应用于“unknown”元素,但您只需要更改此行为

html5shiv在这些浏览器上所做的只是在
的开头添加一个
,与此类似:

article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
    display: block;
}
资料来源:

因此,它不应该产生任何副作用,因为这些规则可以被连续声明覆盖

只要您将该规则添加到主CSS文件的顶部,就可以有条件地仅为IE包含html5shiv,您将保存一个http请求

如果你想让你的html5网站也与FF2兼容(如果是的话,你就是个疯子)


OP发现html5shiv已经为FF2提供了一个后备方案

谢谢。对任何感兴趣的人来说,html5shiv也可以解决FF2问题,只要客户端的UA中启用了JavaScript。谢谢@Jeff,我不知道!他们应该在GitHub中编写它:)如果这就是html5shiv所做的,为什么不将块添加到您的主CSS文件中并使用它呢?如果你的网站是用古老的浏览器浏览的,这会有帮助,如果他们使用现代浏览器,也不会有任何伤害。是吗?@ClayShannon html5shiv提供了IE8所需的javascript回退,所以这些css行不足以保证完全的跨浏览器兼容性。直到IE8灭绝;-)