2009-07-02 21 views

Respuesta

41

Desde el Wikipedia article on conditional comments (modificado para adaptarse a sus requisitos de la versión):

<!--[if gt IE 7]><!--> 
<p>This code displays on non-IE browsers and on IE 8 or higher.</p> 
<!--<![endif]--> 

El marcas extrañas en la primera línea sirve para hacer que las normas de marcado compatible.

+0

+1 ¡Muy útil! –

+0

¿Hay alguna manera de validar el comentario condicional para navegadores no IE con https://validator.w3.org/? Si usa esto, excepto IE o variaciones de comentarios condicionales, arrojará el error de comentario falso en las etiquetas de cierre. ¿Hay alguna manera de evitar ese error de validación? – lowtechsun

+0

De hecho, existe. [www.456bereastreet.com/archive/200511/valid_downlevelrevealed_conditional_comments/](http://www.456bereastreet.com/archive/200511/valid_downlevelrevealed_conditional_comments /) – jkdev

6

Su pregunta debería formularse como "Uso de los comentarios condicionales para excluir el contenido de los navegadores IE" ;-)

Aunque los CC se utilizan con mayor frecuencia para proporcionar contenido adicional para el IE, hay una variante que permite evitar que IE vea contenido Con su arrogancia habitual, MS eligió llamar a esto "downlevel-revealed conditional comments" (porque todos los demás navegadores son peores que IE en su mundo).

Algo así como

<![if !IE]><p>You are not using Internet Explorer.</p><![endif]> 

debería ser todo lo que necesita.

Tenga en cuenta que describir esto como un "comentario condicional" es otro ejemplo del uso extraño de palabras de MS para significar exactamente lo que ellos eligen significar en lugar de lo que todo el mundo quiere decir: lo anterior funciona porque no es realmente un comentario , por lo que todos los navegadores que no sean IE solo asumen que cometiste un error horrible en tu HTML y continúas analizando el contenido dentro.

Esto también significa que probablemente fallará gravemente en XHTML con el tipo de aplicación/xhtml + xml, pero esa es otra historia.

+0

Esto apunta a algo más que IE, pero ¿qué pasa con IE> 7? Además, el marcado no es HTML válido y, por lo tanto, el comportamiento en cualquier navegador que no sea IE no está especificado. –

+3

La condición puede ser para IE 8 y posteriores. En cuanto al marcado no válido y las consecuencias no especificadas: ¿qué más esperas de Microsoft? ;-) – NickFitz

0

Hay un muy buen recurso para este tipo de cosas en: http://www.javascriptkit.com/javatutors/conditionalcompile.shtml

Esto en conjunto con la variable @_jscript_version debería ayudar a lograr el resultado deseado. (Deberá buscar en Google "Información de la versión (Windows Scripting - JScript)" para la búsqueda de la versión de JScript -> IE, ya que solo puedo incrustar un enlace como usuario nuevo.) :-(

Cuestiones relacionadas