2011-03-31 103 views
0

我有一個網站,該網站加載的jQuery來自谷歌的CDN服務器:有條件負荷的jQuery

<script type="text/javascript" 
src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.3/jquery.min.js"></script> 

對於禁用了javascript這些瀏覽器,該網站仍然運行良好。 (優雅退化)。

對於使用IE6的用戶來說,javascript功能並不好看。我正在尋找的是防止在IE6上加載jquery。

我想下面將工作:

<!--[if gt IE 6]> 
<script type="text/javascript" 
src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.3/jquery.min.js"></script> 
<![endif]--> 

有條件的標籤 - 如果瀏覽器是大於IE6,裝載jQuery的。然而,我相信,防止在Safari,Chrome,Firefox等中加載JQuery。

另一種解決方案是在PHP中檢測瀏覽器,然後爲除IE6以外的瀏覽器加載jQuery。這是最好的選擇?

+0

當您嘗試使用不存在的'$'函數時,這隻會給IE6中的JS錯誤。有更好的解決方案。 – SLaks 2011-03-31 16:10:34

+0

@SLaks他可能使用香草js也 – corroded 2011-03-31 16:13:10

回答

6

您需要使用downlevel-revealed comments

<![if gt IE 6]> 
<script type="text/javascript" 
src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.3/jquery.min.js"></script> 
<![endif]> 
+0

太棒了。低層次的評論效果很好。 – user663561 2011-07-11 19:54:00

1

去與有條件的意見,因爲你已經知道了,只是沒了--字符(使其他瀏覽器不把它當作註釋)。

嘗試在服務器上執行瀏覽器檢測總是會要求麻煩。它不是100%可靠的,因爲它可能被欺騙。有條件的評論的優點是它不能被欺騙 - 它會一直工作。個人而言,我只是忽略了IE6--它正在迅速從瀏覽器市場份額中消失(在大多數發達國家現在降至2%以下),並且在IE6中看起來醜陋的網站只能幫助加速它的消亡。但是編寫一個能夠優雅地降級並且可以應對IE6的網站做得很好。對此的讚揚,因爲它比現在大多數人更努力。

+0

IE6低於2%?真? '[引用需要]' – SLaks 2011-03-31 16:15:52

+0

@SLaks - 英國:2.1%,http://gs.statcounter.com/#browser_version-GB-monthly-201003-201103 – Spudley 2011-03-31 16:17:31

+0

@ SLaks - US:1.8%,http:// gs .statcounter.com /#browser_version-US-monthly-201003-201103 – Spudley 2011-03-31 16:17:47