2009-11-07 38 views
6

Estoy usando <!--[if IE 8]><![endif]--> para orientarme a IE8, pero hay algunos JS que deseo cargar para todos los navegadores, EXCEPTO IE8, ¿qué comentario condicional debo usar?Comentarios condicionales para 'Excepto IE8'?

Editar: Me pregunto si esto funcionaría: <!--[if lte IE 8]><![endif]-->

Gracias

+1

La opción * lte * incluirá el JS en IEs anteriores a la versión 8.0, pero no en los navegadores que no sean IE. –

+0

LTE significa menos que o igual. Si desea estrictamente menos de, use LT en su lugar. – EricLaw

Respuesta

13

Puedo pensar en un truco. Establezca una variable dentro de la etiqueta condicional de IE e incluya su código JS si esa variable no está configurada.

<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

La mejor solución a este problema que he encontrado, y debería saberlo. ¡He pasado todo el día intentando hacer esto con declaraciones puramente condicionales! – mickburkejnr

+0

Eso fue un muy buen truco, Siddhartha. Y la capacidad de volver a poner su mente en el polvo del tiempo que es IE;) –

+0

valida perfectamente en 2015! gracias – lowtechsun

0

negación intento, [if !IE 8] tal vez?

+5

Luego aparece IE9 y tendrá un comportamiento bastante interesante. Por supuesto, en este punto no me sorprendería si IE mostrara arcoíris y unicornios en lugar de lo que pretendía. – Matt

19

hay algunas JS que quiero cargar para todos los navegadores excepto Internet Explorer 8, lo comentarios condicionales se debe usar?

Para algo para aparecer en 'otros navegadores que no soportan los CC, es necesario un comentario condicional downlevel-revealed.

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

(esto es ligeramente diferente a la sintaxis oficial de Microsoft que no es HTML válido.)

“Todos los navegadores excepto Internet Explorer 8” es un requisito inusual, ¿está seguro de que es lo que quieres? ¿Qué pasa con las versiones futuras de IE?

+1

+1 Es una diablos de un truco ingenioso con los comentarios anidados. – Raynos

+0

Supongo que podría usar su código con "gte IE 8" si quiere ocultarlo de futuras versiones de IE, ¿verdad? – ph33nyx

+0

@ ph33nyx: Sí, ese sería un tipo de prueba mucho más habitual que 'if! IE8'. – bobince

Cuestiones relacionadas