有人可以帮我看看吗?
<!--[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]-->
据我所知,如果当前浏览器大于8,我们最终使用1.9.1,如果当前浏览器小于或等于8,我们最终得到1.7.2
我在这里有几个问题;
首先,如果浏览器甚至不是IE?例如Chrome。 上面的头代码如何包含JQuery。显然确实如此,但看不出怎么样。条件仅针对IE。不是吗?
其次,我对snytax感到困惑;
<!--[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视图中点击。因此,chrome以某种方式使其通过<!--[if gt IE 8]><!-->
条件。
显然,它有效,但我对如何感到困惑。
答案 0 :(得分:2)
对于你的第一个问题,这是IE conditional comments的专长。
对于你的第二个问题,
<!--[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&lt; = 7个浏览器中。
仅供参考:在Internet Explorer 10中,当页面处于标准模式(文档模式10)时,不支持HTML条件注释
希望你明白。
答案 1 :(得分:1)
那些条件错了,这就是原因。到这里看看它们应该如何构建:http://www.quirksmode.org/css/condcom.html
答案 2 :(得分:1)
您使用了错误的“IE Hacks”,因此您的代码无效。 这篇文章将帮助您:
答案 3 :(得分:1)
条件注释是ms专有标记...所以只有三叉戟(即)才会读取条件注释....并且只有ie10 ...尽管你仍然可以使用条件编译。
关于其他引擎在遇到它们时如何/有什么做的确切...你说铬看到它们......我想这是有道理的...只要没有人渲染/做任何事情它,除了您使用它的目标浏览器。
你的条件陈述无效,正如其他两个男士所指出的那样。如果你更正了语法,它们就可以正常工作。