2013-10-03 23 views
0

有人可以幫我讀這個嗎?無法解釋此條件在這<head>片段

<!--[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是鍍鉻的觀點點擊。所以,鉻莫名其妙地通過<!--[if gt IE 8]><!-->條件。

顯然,它的工作原理,但我很困惑如何。

回答

1

你使用錯誤的「IE Hacks」,所以你的代碼是invaild。 下面是一篇文章,將幫助你:

To Article

1

有條件的意見是MS專有標記......因此只有三叉戟(IE)將讀出的條件評論....這就是最多隻能IE10。儘管你仍然可以使用條件編譯。

idk關於其他引擎在遇到它們時如何做什麼的問題......你說的是chrome看到它們......我想這很有道理......只要沒有人渲染/做任何事情除了你用它定位的瀏覽器之外。

你是條件陳述是無效的,因爲其他兩位男士已經指出。如果你糾正語法,他們會工作得很好。

2

對於你的第一個問題,這是IE conditional comments的特長。

爲了您sencond問題,

<!--[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瀏覽器

FYI:在Internet Explorer 10 HTML條件註釋頁面時在標準模式(文件模式10)

希望你能理解,不支持。

+1

評論截止!謝謝!這解釋了鉻如何看到它。很明顯,主題的HTML已被破壞!我會聯繫這個人在她的高級主題中修復它。 –

+0

@AverageJoe很高興聽到它幫助你。 – Praveen