0

为什么下面的代码在 IE82.0.21.9.1IE8 中都下载?(实际上是 IE9 但在 IE8 浏览器模式下)

我不太确定语法,只是从某个地方复制/粘贴它。但它在 Firefox(仅下载 2.0.2)和 IE9(也仅下载 2.0.2)上按预期工作,但在 IE8(同样,IE8 浏览器模式下的 IE9)上,这两个文件都被下载。

<head>
    <!--[if lt IE 9]>
    <script src="{{STATIC_URL}}js/jquery-1.9.1.min.js"></script>
<![endif]-->

<!--[if gte IE 9]><!-->
    <script src="{{STATIC_URL}}js/jquery-2.0.2.min.js"></script>
<!--<![endif]-->
</head>

奖励问题:如果两个 jquery 文件都被下载,有什么复杂性?

4

1 回答 1

1

根据 MS 的正确代码是:

<head>
    <!--[if lt IE 9]>
    <script src="{{STATIC_URL}}js/jquery-1.9.1.min.js"></script>
<![endif]-->

<![if gte IE 9]>
    <script src="{{STATIC_URL}}js/jquery-2.0.2.min.js"></script>
<![endif]>
</head>

如您所见,第一个块是相同的。第二块删除了一些不必要的语法,几乎可以肯定是什么令人困惑。此外,它使用条件注释的“下层显示”语法,它将显示在不识别此条件注释语法的所有内容上。

只需搜索“Internet Explorer 条件注释”即可找到此明确的帮助页面: http: //msdn.microsoft.com/en-us/library/ms537512 (v=vs.85).aspx

在进一步调查中,您的原始代码看起来像是基于http://blog.jquery.com/2013/03/01/jquery-2-0-beta-2-released/中给出的代码。因此我猜想这应该可行,因此您的问题更有可能来自您相当有趣的测试环境,它同时是 IE8 和 IE9。

于 2013-07-03T12:27:22.520 回答