2009-11-07 13 views
6

Używam <!--[if IE 8]><![endif]--> do kierowania na IE8, ale jest kilka JS, które chcę załadować dla wszystkich przeglądarek, Z WYJĄTKIEM IE8, z jakiego warunkowego komentarza powinienem skorzystać?Komentarze warunkowe do "Z wyjątkiem IE8"?

Edit: Zastanawiam się, czy to będzie działać: <!--[if lte IE 8]><![endif]-->

Dzięki

+1

Opcja * lte * będzie zawierać JS w IE przed 8.0, ale nie w przeglądarkach innych niż IE. –

+0

LTE oznacza mniejszy lub równy. Jeśli chcesz mieć mniejszą ilość, użyj LT zamiast. – EricLaw

Odpowiedz

13

Potrafię wymyślić jakąś sztuczkę. Ustaw zmienną w tagu warunkowym IE i dołącz swój kod JS, jeśli ta zmienna nie jest ustawiona.

<script> 
    var ie8 = false; 
</script> 

<!--[if IE 8]> 
    <script> 
     ie8 = true; 
    </script> 
<![endif]--> 

<script> 
    if (ie8 == false) { 
     // any code here will not be executed by IE 8 
     alert("Not IE 8!"); 
    } 
</script> 
+0

Najlepsze rozwiązanie tego problemu, z którym miałem do czynienia, i powinienem wiedzieć. Spędziłem cały dzień próbując to zrobić z czysto warunkowymi stwierdzeniami! – mickburkejnr

+0

To była bardzo dobra sztuczka, Siddhartha. I umiejętność przywrócenia umysłu do pyłu czasu jakim jest IE;) –

+0

sprawdza się doskonale w 2015 roku! dziękuję – lowtechsun

0

Try negacji, [if !IE 8] może?

+5

Następnie pojawia się IE9, a będziesz miał dość interesujące zachowanie. Oczywiście w tym momencie nie zdziwiłbym się, gdyby IE pokazywał tęcze i jednorożce zamiast tego, co zamierzałem. – Matt

19
tam

jest pewne JS, które chcę, aby załadować na wszystkich przeglądarkach OPRÓCZ IE8, co uwarunkowane komentarz należy użyć?

Aby coś, co pojawi się w "innych przeglądarkach", które nie obsługują CC, potrzebny jest komentarz warunkowy o wartości downlevel-revealed.

<!--[if !IE 8]><!--> 
    .... 
<!--<![endif]--> 

(to nieco inaczej do oficjalnej składni Microsoftu, który nie jest poprawny HTML).

„Wszystkie przeglądarki z wyjątkiem IE8” to niezwykła wymóg, jesteś pewna, że ​​tego chcesz? A co z przyszłymi wersjami IE?

+1

+1 To jedna z mądrych sztuczek z zagnieżdżonymi komentarzami. – Raynos

+0

Zakładam, że możesz użyć swojego kodu, jeśli "gte IE 8", jeśli chcesz go ukryć przed przyszłymi wydaniami IE, prawda? – ph33nyx

+0

@ ph33nyx: Tak, to byłby o wiele bardziej typowy rodzaj testu niż 'if! IE8'. – bobince