2011-07-19 19 views

回答

11

您可以使用conditional comments來做到這一點。例如:

<!--[if IE]> 
    <script src="ie.js"> 
<![endif]--> 
<!--[if !IE]><!--> 
    <script src="all.js"> 
<!--<![endif]--> 
+0

謝謝。看看這傢伙的答案:http://stackoverflow.com/questions/6742087/how-do-i-make-an-else-in-an-ie-html-conditional/6742121#6742121是否與你的一樣? – TIMEX

+0

@TIMEX - 非常相似,是的。兩者之間只有一些小的語法差異,真的。 – aroth

+8

IE10及更高版本不再支持條件註釋。 –

0

對於JavaScript,你通常只包括所有的代碼(所有瀏覽器),然後使用功能檢測,以決定在運行時執行的代碼或哪個分支。

我已經看到這更多的條件樣式表,但不是經常爲JavaScript。

如果你真的想加載不同的JavaScript,你可能必須在服務器上完成,就像樣式表一樣,使用條件註釋作爲aroth顯示,或者你將不得不加載一些javascript,運行它並檢測哪個瀏覽你進入,然後動態加載你可能需要的腳本。這可能會比較慢,因爲你需要加載更多的js文件,並且只有當第一個文件已經被加載並且可以執行時,才能啓動特定於瀏覽器的文件。運行時功能檢測也好得多,而不是必須執行整個瀏覽器檢測並加載不同的JS文件。

+0

爲什麼downvote?我提供了另外三個尚未提供的選項。 – jfriend00

+1

瀏覽器檢測是一個有缺陷的策略,它不是「通常」。 – RobG

+0

@ jfriend00:如果您不熟悉它,請查看對象檢測? http://www.quirksmode.org/js/support.html – pinkgothic

0

有條件的註釋只能在IE中使用,因此非常適合給出僅用於IE的特殊說明。 IE 5支持IE9以上版本(含)。

相關問題