2011-03-31 83 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/