web-dev-qa-db-fra.com

Comprendre les avantages de Modernizr par rapport à html5shiv

Je sais qu'il y a beaucoup de bonnes questions sur le site à propos de ces deux bibliothèques de scripts.

Je voulais cependant demander quelque chose que je n'arrive pas à trouver dans aucun d'eux.

Qu'est-ce que Modernizr prévoit que html5shiv ne sort pas de la boîte, c'est-à-dire en incluant simplement le script.

Je sais que html5shiv corrige "juste" les éléments HTML5 pour IE <9, son support s'arrête-t-il là?

Modernizr corrige-t-il les problèmes CSS3 sur IE navigateurs? IE9.js le fait-il? (Et je veux dire cette question particulière hors de la boîte, sans code js supplémentaire pour gérer les cas d'angle))

Quels sont les avantages de Modernizr par rapport à html5shiv lorsque vous envisagez d'utiliser la bibliothèque en plus de simplement inclure le script?

39
bevacqua

Ils font des choses différentes.

Modernizr détecte la disponibilité des fonctionnalités dans une page vous permettant de fournir vos propres polyfills pour les anciens navigateurs si vous avez besoin de cette fonctionnalité. Vous pouvez ajouter la prise en charge de <canvas> en utilisant un polyfill de balises canvas afin que la fonctionnalité de canvas, y compris son interface JavaScript, dans les navigateurs qui ne prennent pas en charge <canvas> tag.

Html5shiv ajoute les nouvelles balises html5 qui ne sont pas disponibles (<section>, <header>, etc.) sur les anciens navigateurs. Il crée également les styles par défaut (display: block pour <section> par exemple).

C'est tout. Il ne fournit aucune autre fonctionnalité.

55
tkone

Modernizr 1.5+ inclut réellement HTML5Shiv, donc si vous l'utilisez, shiv est redondant. Source: http://modernizr.com/docs/#html5inie

"Depuis Modernizr 1.5, ce script est identique à celui utilisé dans la bibliothèque html5shim/html5shiv."

40
swrobel