2011-12-02 7 views
5

Mam fantazyjny scenariusz, który jest miły, ale nie jest niezbędny i zaskoczyć niespodziankę, nie gra ładnie z IE. Jak mogę "skomentować to" dla IE?Skrypt blokowy w IE

wiem, że mogę korzystać z następujących czynności, aby obejmują oświadczenia dla IE, ale jak wykluczyć je?

<!--[if IE 6]> 
Special instructions for IE 6 here 
<![endif]--> 
+0

Możesz użyć strony serwera, aby wykryć, czy przeglądarka IE wysyła żądanie, a następnie nie wysyła tego skryptu. – david

Odpowiedz

3

Dla wszystkich wersji IE:

<!--[if !IE]> 
conditional stuff 
<![endif]--> 
0

Niestety, nie ma takich mechanizmów, aby wykluczyć scenariusza (czyli chyba że skrypt jest skierowany tylko IE w takim przypadku spójrz na odpowiedź ramblex/karim79).

Ale ... możesz zmodyfikować skrypt, aby sprawdzić globalną (tak, znam westchnienie) zmienną, która - po ustawieniu - powoduje zatrzymanie skryptu. Coś wzdłuż linii:

// wrap your nice script in an anonymous function 
(function(document, undefined) { 
    if (window.ie6 === true) return; 

    ..... 
})(document); 

teraz iść i zawierać zmienną globalną z tagiem warunkowym, tak jak poniżej:

<!--[if lte IE 6]> 
    window.ie6 = true; 
<![endif]--> 

Et voila.