0

有人可以帮我读一下吗?

    <!--[if gt IE 8]><!-->
        <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
    <!--<![endif]-->

    <!--[if lte IE 8]>
        <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
    <![endif]-->

我知道如果当前浏览器大于 ie 8,我们最终使用 1.9.1,如果当前浏览器小于或等于 8,我们最终使用 1.7.2

我这里有几个问题;

第一个是如果浏览器甚至不是 IE 怎么办?以铬为例。上面的标头代码是如何包含 JQuery 的。显然它确实如此,但看不到如何。条件只是寻址 IE。不是吗?

其次,我对语法感到困惑; <!--[if gt IE 8]><!-->部分看起来与<!--[if lte IE 8]>部分不同。<!-->前者中的额外内容让我感到困惑。

这是我从中获得片段的地方; http://bombdiggitydesign.com/crisp-2/Crisp-cool/index.html

它以某种方式为我加载了 JQuery(我正在使用 Chrome)。当我检查 时viewsource:,我看到了这个

<!--[if gt IE 8]><!-->
        <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
        <script>window.jQuery || document.write('<script src="assets/js/jquery-1.9.1.min.js"><\/script>')</script>
        <!--<![endif]-->
        <!--[if lte IE 8]>
            <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
        <![endif]-->

在此,只有http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js在 chrome 的视图中是可点击的。因此,铬以某种方式使其通过<!--[if gt IE 8]><!-->条件。

显然,它有效,但我对如何工作感到困惑。

4

4 回答 4

2

对于你的第一个问题,这是IE 条件注释的特色。

对于你的第二个问题,

<!--[if gt IE 8]><!--> //COMMENTS ENDS
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"/>    
<!--<![endif]--> //COMMENTS ENDS

这不仅仅是为了方便而发表的评论(准确地说是可读性)。 但是 jQuery 1.9.1 可以在所有浏览器中运行。

但是,您的jQuery 1.9.1 将被 jQuery 1.7.2 覆盖,仅在 IE <=7 browsers中。

仅供参考:在 Internet Explorer 10 中,当页面处于标准模式(文档模式 10)时,不支持 HTML 条件注释

希望你能理解。

于 2013-10-03T19:37:43.883 回答
1

那些条件是错误的,这就是原因。去这里看看它们的结构:http ://www.quirksmode.org/css/condcom.html

于 2013-10-03T19:21:17.713 回答
1

您使用了错误的“IE Hacks”,因此您的代码无效。这里有一篇文章可以帮助你:

到文章

于 2013-10-03T19:22:29.777 回答
1

条件注释是 ms 专有标记...所以只有 trident (ie) 会读取条件注释....而且只能到 ie10...尽管您仍然可以使用条件编译。

了解其他引擎遇到它们时如何/做什么的确切信息...您是说 chrome 看到它们...我想这是有道理的...只要没有人对其进行渲染/做任何事情,除了对于您使用它定位的浏览器。

正如其他两位绅士所指出的那样,您的条件语句无效。如果您更正语法,它们会正常工作。

于 2013-10-03T19:25:07.367 回答