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

标签 javascript html browser

关于html5shiv Google Code page示例用法包括 IE 条件:

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

然而在html5shiv github page上,描述说明:

This script is the defacto way to enable use of HTML5 sectioning elements in legacy Internet Explorer, as well as default HTML5 styling in Internet Explorer 6 - 9, Safari 4.x (and iPhone 3.x), and Firefox 3.x.

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

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

最佳答案

我认为 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 提供了后备!

关于javascript - 在每个浏览器中加载 html5shiv 是否有任何不利的副作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12750035/

相关文章:

javascript - 在迭代 JavaScript 对象的属性时修改它

javascript - mocha - 检索 promise 测试的结果

javascript - 为 slider 动态加载 css 背景图像

javascript - 使用for循环使用数组中的数据创建多个div

c# - 如何配置 c# Web 浏览器搜索对话框行为?

javascript - 使用 JavaScript 动态获取调用元素( anchor )

javascript - 条件表达式和 if 语句哪个更好?

javascript - 如何强制锚定到(外部)页面的中间而不是顶部?

javascript - Android浏览器运行javascript window.close()?

javascript - jQuery 悬停效果在某些计算机上的 Google Chrome 中不起作用