Quelle est la différence entre Modernizr et Html5Shiv?

12

Je jouais avec l'idée de passer en html5. Il semble qu'il existe 2 scripts majeurs pour gérer la prise en charge de html5 sur les anciens navigateurs.

Modernizr et Html5Shiv

Je me demandais s'ils faisaient la même chose. Lequel choisir et pourquoi?

Des idées?

Sinan
la source

Réponses:

8

Modernizr est utilisé pour vérifier la disponibilité des fonctionnalités HTML5 dans différents moteurs de rendu. Il comprend un script comme Html5Shiv, qui (uniquement) active les balises HTML5 sur Microsoft Internet Explorer (avant la version 9, qui connaissait HTML5). Voir aussi "Comment faire fonctionner HTML5 dans IE et Firefox 2" .

Si vous souhaitez simplement activer HTML5 pour IE <9, alors Html5Shiv serait suffisant. J'utilise la version Html5Shiv de Remy Sharp dans un commentaire conditionnel MS:

<!--[if lte IE 8]>
    <script src="templates/js/html5.js"></script>
<![endif]-->

Si vous souhaitez également vérifier (via CSS ou JS), si le navigateur des clients est capable, par exemple, d' éléments de formulaire HTML5 (comme la saisie de date d'opéras), de colonnes CSS3 ou de dégradés, utilisez Modernizr .

feeela
la source
2

Vous pouvez également consulter html5boilerplate.com , une bonne ressource pour commencer avec les sites html5, ils offrent des choix commutables comme html5 shiv ou modernizr ainsi que de nombreuses autres améliorations de base.

Kzqai
la source
oui html5boilerplate est bon. Il a le choix entre modernizr ou html5shiv. Mais lequel inclure?
Sinan
assez juste, je suppose que html5 est ce qui a provoqué la question?
Kzqai
1

Je sais que cela remonte à un certain temps, mais je pensais que je devrais ajouter que modernizr ne semble pas remplir les éléments HTML5 qui sont chargés via AJAX - cela ne fonctionne que sur le contenu qui était présent lors du chargement de la page initiale. Html5Shiv fonctionne sur le contenu chargé via AJAX, mais ce n'est également qu'un petit sous-ensemble de fonctionnalités de modernizr. Nous utilisons actuellement les deux sur l'application Web sur laquelle je travaille.

Isochrone
la source