2011-03-31 88 views
10

这有可能只是在IE加载脚本与有条件的意见如何不在IE中加载脚本?

<!--[if lte IE 7]> 
    <script type="text/javascript" src="somescript.js"></script> 
<![endif]--> 

但如果我希望将其加载到IE LTE 7(但仍需要在所有其他浏览器) ?

任何简单的解决方案?

P.S.我有一个SyntaxHighlighter的问题 - 太多的代码会减慢IE7的速度,而且由于时间不够,我决定现在就在IE7中关闭它。

+0

您使用的是服务器端语言生成网页,或者是直接的HTML? – 2011-03-31 19:27:30

+0

它适用于PHP – 2011-03-31 19:29:16

回答

18

This post说,你可以使用!(NOT)运算符像[if !IE]

+1

嘿,它可以更简单吗? )你生活和学习。谢谢! – 2011-03-31 19:40:28

+0

2014年的问候!出于某种原因,'[if!IE]'似乎对我无效。任何指针任何人? – 2014-09-11 18:31:59

4
<!--[if gte IE 7]> 
    <script type="text/javascript" src="somescript.js"></script> 
<![endif]--> 
<!--[if !IE]> 
    <script type="text/javascript" src="somescript.js"></script> 
<![endif]--> 
+2

这不仅适用于IE版本大于7的版本吗? Firefox会将整个事件视为评论。 – 2011-03-31 19:37:17

+0

这是一个很好的观点,用更低层次的条件更新。 – yzxben 2011-03-31 22:00:50

5
<![if !IE]> 
    <script type="text/javascript" src="somescript.js"></script> 
<![endif]> 
+0

我不认为这是有效的代码。没有条件评论总是像常规评论开始和结束()? 在此示例中: lindhe 2012-07-19 23:19:35

+0

这是[下级显示的注释](http://msdn.microsoft.com/en-us/library/ms537512(v = vs.85).aspx#dlrevealed )并且在所有浏览器中都有效。 – 2012-11-10 02:57:38

3

这句法做工不错(脚本不会在火狐,Chrome评论等):

<!--[if !IE]><!--> 
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script> 
<!--<![endif]--> 
0

我使用了这里和其他地方显示的例子,看到这个代码示例有多少地方搞砸了,真让人沮丧。原来,答案很简单,IE有特殊的'条件',如[如果IE],但其他浏览器需要注释来处理'条件'。

例如,由于JQuery的2不与IE8的工作,你可以做这样的事情

<!--[if IE ]> (following is only visible to IE) 
    <script src="./js/lib/jquery-1.6.1.min.js"></script> 
<![endif]--> 
<!--[if !IE]>--> (extra comment - only visible to non-IE) 
    <script src="./js/lib/jquery-2.1.1.min.js"></script> 
    <script src="./js/lib/jquery.mobile-1.4.5.min.js"></script> 
<!--<![endif]--> 

我已经验证了在火狐,Chrome,IE8,海豚移动上述作品,和Chrome移动。您也可以指定版本。例如,低于IE 9将是:<!--[if lt IE 9 ]>

有关详细说明,请http://www.sitepoint.com/web-foundations/internet-explorer-conditional-comments/