2011-07-20 41 views
5
用戶瀏覽

我希望有一個JavaScript代碼來禁用如果用戶使用Internet Explorer 8禁用腳本,如果使用IE8

+4

一般來說 「如果使用IE8」 是一個非常糟糕的決定點。 8和7或9沒有關係的問題是什麼?你爲什麼不能修復它?爲什麼你不能測試問題而不是瀏覽器? – Quentin

+0

實際上我想禁用用戶使用8以上的腳本。我在IE7上的腳本沒有問題。如果你可以幫我在所有IE上禁用它,我會非常感激。謝謝 – johnathan

+0

爲什麼禁用?你應該編寫適用於所有主流瀏覽器的JavaScript代碼,並且應該在ie8/9上使用jquery進行嘗試? –

回答

13

試試這個。

禁用腳本IE 8

<!--[if !(IE 8)]><!--> 
    <script src="path/to/external/script"></script> 
    <script> 
     // your inline script goes here 
    </script> 
<!--<![endif]--> 

禁用腳本IE 8及以上

<!--[if !(gte IE 8)]><!--> 
    <script src="path/to/external/script"></script> 
    <script> 
     // your inline script goes here 
    </script> 
<!--<![endif]--> 

閱讀bobince的回答是:Conditional comment for 'Except IE8'?

+0

在代碼中添加我的腳本的位置? – johnathan

+0

已更新的代碼:) – naveen

+0

我試過了,但它不工作 – johnathan

2

的一種方式做到這一點瀏覽是使用其他腳本,包含在IE我所做的腳本 - 特定的條件註釋,去激活第一個。當然,這意味着你需要有一些方法來停用第一個,但這不是一個特定於IE的問題。

事情是這樣的:

<!--[if (gte IE 8) ]><script>deactivate1stScript();</script><![endif]--> 

通過使用條件註釋,你讓IE瀏覽器所做的工作,並沒有其他的瀏覽器將不得不處理任何額外的JavaScript,因爲只有IE會關注代碼評論(和IE8專門)

不過,我確實與@Quentin同意針對特定瀏覽器通常不是個好主意。如果有一定的功能,你的腳本需要,如CanvasSVG支持,使用功能檢測庫如Modernizr是一種更好的方法來解決這個問題。

1

看到這裏很簡單的解決方案How to detect IE8 using JavaScript

主要的想法是運行JavaScript functuion其返回當前瀏覽器的版本比構建腳本USNG條件語句像if, switch

+0

只是一個鏈接===不是答案 –

+1

@Wesley默奇:嘿,我不會跨越intrawebs複製粘貼內容,專爲這個目的而設計的超鏈接。有時超鏈接到一個很好的解決方案比郵寄醜陋的代碼或複製粘貼THM沒有整個文章指出這可能是至關重要的更好,所以我不知道你是否是正確的downvoting我的回答時 – sll

+1

在這裏看到:HTTP://en.wikipedia .org/wiki/Link_rot和這裏[只是包含其他鏈接的答案真的很好的答案?](http://meta.stackexchange.com/q/8231)和這裏[爲什麼鏈接不好?](http: //meta.stackexchange.com/q/7515)至少給你的答案增加一些上下文是非常好的,特別是如果你將源代碼作爲你的屬性。對於鏈接 –

0

Here's了一篇文章,應該可以幫助你針對IE8專門用JavaScript。只需用它編寫一個if/else語句,具體取決於函數的結果。