2012-10-05 64 views
6

Por html5shiv Google Code page el ejemplo de uso incluye un IE condicional:¿Hay algún efecto secundario adverso para cargar html5shiv en cada navegador?

<!--[if lt IE 9]> 
    <script src="dist/html5shiv.js"></script> 
<![endif]--> 

Sin embargo en la html5shiv github page, la descripción explica:

Este script es la forma de facto para permitir el uso de HTML5 seccionar elementos en Internet Explorer heredado, así como el estilo HTML5 predeterminado en Internet Explorer 6 - 9, Safari 4.x (y iPhone 3.x), y Firefox 3.x.

Una contradicción obvia. Entonces, para satisfacer mi curiosidad, para cualquier persona que haya estudiado el código, ¿hay efectos secundarios adversos para cargar html5shiv en cada navegador (sin el IE condicional)?

EDITAR: Mi objetivo, obviamente, es usar el shiv sin el IE condicional.

Respuesta

4

creo que el comentario condicional en la página de googlecode (actualizado probablemente más que hace un año) se debe a IE8 y abajo necesitan un javascript trick para permitir estilo CSS de elementos HTML5.

FF4, Safari 4, Opera 11 y debajo simplemente no aplica display:block por defecto a los elementos "desconocidos", pero solo necesita un CSS reset para cambiar este comportamiento.

Lo html5shiv hace en estos navegadores es sólo para añadir un <style> al comienzo de <head>, similar a éste:

article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section { 
    display: block; 
} 

Fuente: http://meyerweb.com/eric/tools/css/reset/

Por lo tanto, no debería dar cualquier efecto secundario, porque estas reglas se pueden sobrescribir con declaraciones sucesivas.

Mientras agregue esa regla encima de su archivo CSS principal, está bien incluir condicionalmente html5shiv para IE solamente, guardará una solicitud http.

Si quiere que su sitio web html5 también sea compatible con FF2 (si es así, es un maníaco), check this tutorial.

OP descubierto html5shiv ya proporciona una alternativa para FF2!

+0

Gracias. Para cualquier persona interesada, html5shiv también resuelve el problema de FF2 siempre y cuando el cliente tenga habilitado JavaScript en su UA. – Jeff

+0

Gracias @Jeff, ¡no lo sabía! Deberían escribirlo en su GitHub :) – Giona

+0

Si eso es todo lo que html5shiv hace, ¿por qué no simplemente agregar el bloque a su archivo CSS principal y terminarlo? Si su sitio es visitado por un navegador antiguo, ayuda, y si usan un navegador moderno, no hará ningún daño. ¿Derecha? –

Cuestiones relacionadas