Compartir a través de


Vectores de versión

Nota: Esta información es preliminar y está sujeta a cambios.

Un vector de versión hace referencia al número de versión interno de Windows Internet Explorer, que se almacena en una clave del Registro leída en un inicio del explorador. Un desarrollador web puede usar el vector de versión para detectar qué explorador usa un visor para ver un sitio web. El conocimiento de los procedimientos recomendados para la detección de explorador garantiza que el sitio siga funcionando del modo previsto cuando lo visitan clientes de Windows Internet Explorer 8.

En este documento se explicará cómo Windows Internet Explorer usa el valor de vector de versión. Además, se ofrecerá código de ejemplo para ayudar a los desarrolladores web a implementar y mantener los procedimientos recomendados para la detección de explorador.

Cómo usa Windows Internet Explorer el vector de versión

Además de usar el vector de versión para rellenar su sección Ayuda -> Acerca de, Windows Internet Explorer usa este valor al procesar comentarios condicionales. Los comentarios condicionales son bloques de comentarios en el código fuente HTML de una página, que sólo interpreta Windows Internet Explorer. Los comentarios pueden contener una o varias operaciones, características o valores.

<!--[if gte IE8]>

Por ejemplo, el código anterior muestra el código de comentario necesario para buscar la versión de Windows Internet Explorer 8 y posterior. La comparación de mayor o igual que se usa para garantizar que la condición está lista para versiones futuras de Windows Internet Explorer de modo que no tenga que actualizar el código si se lanza una nueva versión.

El vector de versión también incluye la versión de explorador secundaria. Al probar el número de versión de explorador principal, el vector de versión es un entero. Para buscar una versión de explorador secundaria, agregue un punto decimal y cuatro dígitos al vector de versión. Por ejemplo, el vector de versión para la compilación de versión de Windows Internet Explorer 5.5 es 5.5002.

<!--[if gte IE 5.5002]><p>Usa IE 5 o posterior</p><![endif]-->

Este ejemplo de código muestra el código de comentario necesario para comprobar la versión de explorador principal así como la versión de explorador secundaria. Esto le permite optimizar más las condiciones.

El comentario condicional contiene guiones ("--") en la etiqueta de apertura y cierre, de forma similar al comentario HTML básico. La condición aparece en la parte de apertura de la etiqueta y [endif] se coloca antes de la parte de cierre de la etiqueta. El contenido se coloca dentro de las etiquetas de comentario. Se denominan ocultas de nivel inferior porque cualquier explorador o versión de explorador que no admita los comentarios condicionales omitirá estos comentarios y la marca entre las etiquetas.Los comentarios condicionales sin guiones se denominan revelados de nivel inferior, porque los exploradores de nivel inferior omitirán los comentarios, pero se procesarán las marcas entre las etiquetas. 

<![if lt IE 5.5]><p>Usa una versión anterior a IE 5.5 u otro explorador de nivel inferior</p><![endif]>

Este ejemplo de código muestra el código de comentario necesario para comprobar la versión de explorador principal así como la versión de explorador secundaria. Esto le permite optimizar más las condiciones.

Detección de explorador con el vector de versión

El uso de comentarios condicionales implica dirigir distintas reglas de hojas de estilo en cascada (CSS) para versiones específicas de Windows Internet Explorer. Esto le permitirá asegurarse de que los clientes de Windows Internet Explorer 8 no reciben correcciones de CSS ni cambios diseñados para Windows Internet Explorer 7. También puede usar la cadena user-agent para detectar la versión de explorador. La tabla 1 contiene una lista de características, operadores y valores disponibles que puede usar para crear comentarios condicionales.

Tabla 1

Item

Ejemplo

Comentario

IE

[if IE]

La única característica admitida actualmente es la cadena "IE", que corresponde a Windows Internet Explorer.

value

[if IE 7]

Un número entero o de coma flotante que corresponde a la versión del explorador. Devuelve un valor booleano true si el número de versión corresponde con la versión del explorador.

!

[if !IE]

Operador NOT. Se coloca inmediatamente delante de la característica, operador o subexpresión para invertir el significado booleano de la expresión.

lt

[if lt IE 5.5]

Operador menor que. Devuelve true si el primer argumento es menor que el segundo.

lte

[if lte IE 6]

Operador menor o igual que. Devuelve true si el primer argumento es menor o igual que el segundo.

gt

[if gt IE 5]

Operador mayor que. Devuelve true si el primer argumento es mayor que el segundo.

gte

[if gte IE 8]

Operador mayor o igual que. Devuelve true si el primer argumento es mayor o igual que el segundo.

( )

[if !(IE 7)]

Operadores de subexpresión. Se usa en combinación con los operadores booleanos para crear expresiones más complejas.

&

[if (gt IE 5)&(lt IE 7)]

Operador AND. Devuelve true si todas las subexpresiones se evalúan como true.

|

[if (IE 6)|(IE 7)]

Operador OR. Devuelve true si cualquiera de las subexpresiones se evalúa como true.

true

[if true]

Siempre se evalúa como true.

false

[if false]

Siempre se evalúa como false.

El siguiente ejemplo muestra el uso de comentarios condicionales para determinar la versión de Windows Internet Explorer que se usa y la hoja de estilo CSS adecuada que se enviará.

<head>
   <title>Test Page</title>
   <meta http-equiv="X-UA-Compatible" content="IE=8"/>
   <!--[if gte IE 8]>
   <linkrel="stylesheet" type="text/css" href="/stylesheets/standards.css" />
   <![endif]-->
   <!--[if IE 7]>
   <linkrel="stylesheet" type="text/css" href="/stylesheets/ie.css" />
   <![endif]-->
</head>

Además, si desea usar la misma hoja de estilo para las versiones de Windows Internet Explorer 7 y posterior, puede usar el siguiente código de ejemplo.

<head>
   <title>Test Page</title>
   <!--[if gte IE 7]>
   <linkrel="stylesheet" type="text/css" href="/stylesheets/ie.css" />
   <![endif]-->
</head>

Observe que los ejemplos de código anteriores usan las comparaciones mayor o igual que. Esto garantiza que el código está listo para versiones futuras de Windows Internet Explorer, por lo que no tendrá que actualizarlo si se lanza una nueva versión de Windows Internet Explorer. A continuación se ofrecen algunos ejemplos más de varias instrucciones condicionales.

<!--[if IE]><p>Usa Internet Explorer.</p><![endif]-->

<![if !IE]><p>No usa una versión posterior de Internet Explorer.</p><![endif]>

<!--[if IE 8]><p>Bienvenido a Internet Explorer 8.</p><![endif]-->

<!--[if !(IE 8)]><p>No usa Internet Explorer 8.</p><![endif]-->

<!--[if gte IE 7]><p>Usa IE 7 o posterior.</p><![endif]-->

<!--[if (IE 5)]><p>Usa IE 5 (cualquier versión).</p><![endif]-->

<!--[if (gte IE 5.5)&(lt IE 7)]><p>Usa IE 5.5 o IE 6.</p><![endif]-->

<!--[if lt IE 5.5]><p>Actualice su versión de Internet Explorer.</p><![endif]-->

<!--[if true]>Usa un explorador de <em>nivel superior</em>.<![endif]-->

<!--[if false]>Usa un explorador de <em>nivel inferior</em>.<![endif]-->

<!--[if true]><![if IE 7]><p>Este comentario anidado se muestra en IE 7.</p><![endif]><![endif]-->

Para obtener más información en relación con los comentarios condicionales y los vectores de versión, consulte Acerca de los comentarios condicionales.

Otras técnicas de detección de explorador

La cadena user-agent es la identidad de un explorador tal como se notifica a los sitios web mediante tráfico HTTP. Puede usar la cadena user-agent en vez de los vectores de versión, o además de ellos, para detectar el explorador que se usa para ver el sitio web. Para obtener más información acerca de las cadenas user-agent y cómo usarlas para detectar las versiones de explorador, consulte Qué notificará Windows Internet Explorer como la cadena user-agent.

Una ventaja de usar comentarios condicionales es que no requieren scripting, y cuando no se usa scripting en una página web, no se precisa ningún motor de scripting para cargarlas. Los comentarios condicionales se procesan durante la fase de descarga y análisis, por lo que sólo el contenido que va dirigido al explorador se descarga realmente. Los comentarios condicionales se pueden combinar libremente con otras técnicas de detección de explorador.