2013-08-05 45 views
1

我有一個js文件,並且只想在瀏覽器爲IE 8時運行一些代碼。有沒有辦法可以做到這一點?如何爲IE瀏覽器運行腳本8

現在我只有這一點,但它是所有的ie瀏覽器:

if ($.browser.msie) { 
    //do stuff for IE 8 
} 
+2

爲什麼你需要檢測IE8特別? – Blender

+0

我的一些jquery移動代碼不適用於IE 8(但適用於IE 9和10),所以如果它是IE 8,我想重定向到不同的頁面。謝謝 –

+0

這也不適用於新版本的jQuery,因爲他們刪除了版本1中的$ .browser。9 – Ian

回答

2

好的人,我解決我自己是這樣的:

if ($.browser.msie && $.browser.version == 8) { 
    //my stuff 

} 
+0

它應該是「== 8」而不是「<= 8」 – mirelon

+0

是的,謝謝指出 –

+0

http://api.jquery.com /jquery.browser/ – Selvamani

7

瀏覽器特定的代碼是幾乎從來沒有一個好主意。但是,如果您必須這樣做,則可以將代碼放入條件註釋中。

http://www.positioniseverything.net/articles/cc-plus.html

<!--[if IE 8]> 
    <script type="text/javascript"> 
    // this is only executed for IE 8 
    </script> 
<![endif]--> 
+0

進行測試。如何將此條件放置在js文件中而不是我的HTML。謝謝 –

+0

如果你必須把條件代碼放到你的JS中,你可以看看這個鏈接:http://www.quirksmode.org/js/detect.html – seanmk

+0

@RDoolabh只是你知道,IE10停止支持這樣的條件註釋 – Ian

9

Browser detection in JavaScript?http://modernizr.com

這裏是一個簡短的回答(EST):

if (navigator.userAgent.match(/MSIE 8/) !== null) { 
    // do something in IE8 
} 
+3

您可以評論您爲什麼低估了這一點,以便我能從您那裏學到一些東西嗎?謝謝。 –

+0

我不是那個低調的人。這是諷刺的,因爲我在你的鏈接中找到了我的答案。請看我的答案。謝謝 –

+0

我不知道是誰做的,爲什麼......只要我從中學到一些東西,我就不介意downvote。無論如何,我編輯一個簡短的純JavaScript代碼片段應該工作。 –

1

你能在頭重定向頁面做一個電話如果它小於IE9?我發現自己經常爲我的客戶使用IE6-10的混合物。

在文件頭我打電話,

<!--[if IE 7]> <link rel="()" type="()" href="(Your link here.)"><![endif]--> 

你可以看看另一種選擇是一個墊片或polyfil。互聯網上有很多可以幫助縮小現代網頁設計和舊版瀏覽器之間的差距。 一個例子是Modernizr

1

你可以這樣做:

if (navigator.userAgent.indexOf('MSIE 8.0') !== -1) { 
    // this clause will only execute on IE8 
} 
0

可以使用document.documentMode獲得IE的版本。

switch(document.documentMode) 
    { 
     case 8: 
      //do something with IE8 
      break; 
     case 9: 
      //do something with IE9 
      break; 
     case 10: 
      //do something with IE10 
      break; 
     case 11: 
      //do something with IE11 
      break; 
     default: 
      console.log('Other browsers...'); 
    } 

對於文檔,請參閱here

0

嘗試使用這樣

<script type="text/javascript"> 
    if(/MSIE \d|Trident.*rv:/.test(navigator.userAgent)) 
     document.write('<script src="somescript.js"><\/script>'); 
</script> 
相關問題