2012-03-10 10 views
36

Sé que hay muchas buenas preguntas en el sitio sobre estas dos bibliotecas de scripts.Comprensión de los beneficios de Modernizr sobre html5shiv

Quería preguntar algo que no puedo encontrar en ninguno de ellos.

¿Qué ofrece Modernizr que html5shiv no fuera de la caja, es decir, solo con incluir el script.

Sé que html5shiv "solo" arregla los elementos HTML5 para IE < 9, ¿su soporte se detiene allí?

¿Resuelve Modernizr los problemas de CSS3 en los navegadores de IE? ¿Ie9.js hace eso? (y me refiero a esta pregunta en particular, sin código js adicional para manejar casos de esquina)

¿Cuáles son las ventajas de Modernizr sobre html5shiv cuando se tiene en cuenta el uso de la biblioteca además de solo incluir el script?

+2

No es una respuesta, pero tengo entendido que modernizr a menudo solo se usa para comprobar si un navegador admite funciones nuevas (CSS3/HTML5). Y luego el código puede tratar con aquellos que no lo hacen. Tiene lo que llama 'polyfills', que son básicamente cuñas o versiones más complejas de ellos. No estoy completamente seguro de lo que ofrece Modernizr en comparación con html5shiv (en términos de cuñas), pero, en general, Modernizr se utiliza a menudo para comprobar en lugar de parche. Quizás estoy equivocado, pero ese es mi pensamiento. – Marshall

+0

http://blog.userinterfacemedia.com/modernizr-vs-html5shiv/ –

Respuesta

51

Ellos hacen cosas diferentes.

Modernizr detecta la disponibilidad de características en una página que le permite proporcionar sus propios polyfills para navegadores antiguos en caso de que necesite esa funcionalidad. Puede agregar soporte para <canvas> usando un relleno de etiqueta de lona para que la funcionalidad de lienzo, incluida su interfaz de JavaScript, en navegadores que no admitan la etiqueta <canvas>.

Html5shiv agrega las nuevas etiquetas html5 que no están disponibles (<section>, <header>, etc.) a los navegadores anteriores. También crea los estilos predeterminados (display: block para <section> por ejemplo).

Eso es todo. No proporciona ninguna otra funcionalidad.

+0

Veo, y ¿Modernizr hace algo para mejorar la compatibilidad con IE3 de IE? – bevacqua

+5

No. No hace nada por sí solo, aparte de decirle si es compatible y si no es compatible, puede suministrar un relleno sintético para agregar esa funcionalidad al navegador. Consulte https://github.com/Modernizr/Modernizr/wiki/HTML5-Cross-browser-Polyfills para obtener una lista exhaustiva de polyfills para su uso. – tkone

+0

En realidad, son complementarios entre sí :) – tkone

37

Modernizr 1.5+ en realidad incluye HTML5Shiv, por lo que si lo usa, shiv es redundante. Fuente: http://modernizr.com/docs/#html5inie

"A partir de Modernizr 1.5, este script es idéntico al que se utiliza en la popular biblioteca html5shim/html5shiv".

+2

Desde el enlace," A partir de Modernizr 1.5, este script es idéntico al que se usa en la popular biblioteca html5shim/html5shiv ". – JGallardo

Cuestiones relacionadas