2012-10-10 63 views
0

我的JavaScript只需要定位到現代瀏覽器(IE9,FF,Chrome等),不包括IE8和更舊版本。我一直在試驗,但我不確定它是否有效(沒有適當的IE測試設施)。有條件的IE瀏覽器狀態 - 如果現代瀏覽器

我在想添加腳本比IE8更新,然後再對所有非IE瀏覽器:

<!--[if gt IE 8)]><script src="sites/all/themes/customtheme/js/custom.js" type="text/javascript" charset="utf-8"></script><![endif]--> 


<!--[if !IE]><!--><script src="sites/all/themes/customtheme/js/custom.js" type="text/javascript" charset="utf-8"></script><!--<![endif]--> 

人有用於添加到腳本到現代瀏覽器的任何經驗或代碼段,並排除IE8及以上?

+0

FF2分類爲現代瀏覽器?你應該檢測功能而不是瀏覽器檢測。 – Petah

回答

1

你只需要一個標籤:

<![if gt IE 8]> 
<script src="sites/all/themes/customtheme/js/custom.js" type="text/javascript" charset="utf-8"></script> 
<![endif]> 

IE將使用條件,只包括了IE9和後來的劇本,和其他瀏覽器會忽略的條件標籤,當他們沒有形成一個評論標記他們將包括腳本。

請參閱downlevel-revealed conditional comments

+0

完美。因此,適用於所有現代瀏覽器。那麼我可以只添加一個特定的IE8或更舊? Like: <! - [if lte IE 8]> lata

+0

@lata:是的,正好。 – Guffa

0

雖然沒有直接回答你的問題,

什麼,你應該瞄準做的是功能檢測一下瀏覽器是可以勝任的。

的Modernizr可以用很多這方面的幫助:

http://modernizr.com/

我這樣說是因爲已經基本上把除舊IE所有的瀏覽器進入所謂的「現代瀏覽器」一斗的時候,確實會你腳本運行在FF2或Opera上,還是我的電視?

+0

我正在做一些(顯然)困難的JS,在舊版瀏覽器中不起作用。而且我更喜歡只爲老的瀏覽器禁用它,而不是開始破解我的方式。 – lata

相關問題