2013-07-03 27 views
0

为什么下面的代码在IE8中下载BOTH 2.0.21.9.1? (实际上它是IE9,但在IE8浏览器模式)IE条件注释无法正常工作

我不太确定的语法,只需从某处复制/粘贴它。但它在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的文件被下载有什么并发症?

+1

你有没有注意到你的语法对于两个不同的块是不同的? SO的语法突出显示也可以帮助你找到答案... – Chris

+0

我也尝试过其他语法,但是这个至少部分地起作用。其他人没有。如果您确定正确的语法,请将它粘贴到答案中,thx – Philip007

回答

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。

+0

已修复。我在你的文章中错过了FF评论。 – Chris

+0

我试过你的代码,但没有更改。 Firefox和IE9按预期工作。 IE8仍然下载这两个文件 – Philip007

+2

也许问题是“在IE8浏览器模式下的IE9”?也许如果我只是使用真正的IE8并且问题消失了? – Philip007