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

Jef*_*eff 6 javascript browser html5

html5shiv Google Code页面上,示例用法包括IE条件:

<!--[if lt IE 9]>
    <script src="dist/html5shiv.js"></script>
<![endif]-->
Run Code Online (Sandbox Code Playgroud)

但是在html5shiv github页面上,描述说明:

此脚本是在旧版Internet Explorer中使用HTML5分区元素以及在Internet Explorer 6 - 9,Safari 4.x(和iPhone 3.x)以及Firefox 3.x中使用默认HTML5样式的实际方法.

一个明显的矛盾.所以为了满足我的好奇心,对于那些研究过代码的人来说,在每个浏览器中加载html5shiv都有任何不利的副作用(没有IE条件)?

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

Gio*_*ona 4

我认为 googlecode 页面上的条件注释(可能更新于一年多前)是因为 IE8 及以下版本需要javascript 技巧来允许HTML5 元素的css 样式

FF4、Safari 4、Opera 11 及更低版本默认不适display:block用于“未知”元素,但您只需要重置 CSS即可更改此行为。

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

article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
    display: block;
}
Run Code Online (Sandbox Code Playgroud)

来源: http: //meyerweb.com/eric/tools/css/reset/

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

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

如果您希望您的 html5 网站也与 FF2 兼容(如果是这样,您就是个疯子),请查看此教程

OP 发现 html5shiv 已经为 FF2 提供了后备!