【问题标题】:Why does html5shiv need conditional comments?为什么 html5shiv 需要条件注释?
【发布时间】:2017-05-31 09:51:56
【问题描述】:

我刚刚开始维护一个使用html5shiv 的大型遗留代码库。我从文档中注意到,它应该在样式表链接之后的条件注释中声明,如下所示:

<link rel="stylesheet" type="text/css" href="/css/example.css">
<!--[if lt IE 9]>
    <script src="scripts/html5shiv/dist/html5shiv.js"></script>
<![endif]-->

但是在我的代码库中,它是在样式表链接之前声明的,并且没有像这样的条件 cmets:

<script src="scripts/html5shiv/dist/html5shiv.js"></script>
<link rel="stylesheet" type="text/css" href="/css/example.css">

我只是想更好地理解为什么文档建议在评论中和 css 之后声明。这样做不会造成任何麻烦,如果是这样,那会是什么?我问的原因是我正在考虑删除它,因为我们不再支持旧版本的 IE,并且想知道这样做是否可能会在较新的浏览器中导致任何问题。

【问题讨论】:

  • 可能是为了避免在其他 99% 的浏览器中下载和解析代码(并可能跳过运行支持检查)。

标签: html html5shiv


【解决方案1】:

条件式cmets仅在Internet Explorer版本低于9的情况下加载html5shiv代码。其他浏览器,例如Firefox和Chrome,也会忽略该标签,不会执行脚本,从而节省带宽.

html5 shiv 基于一个简单的解决方法:它指示 IE 使用 JavaScript 创建元素(它们甚至不需要插入到 DOM 中)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-11-11
    • 1970-01-01
    • 2013-10-17
    • 2023-03-08
    • 2017-12-15
    • 2012-02-12
    相关资源
    最近更新 更多