Non, ils ne sont pas du tout les mêmes; ils font des choses complètement différentes.
html5shiv vous permet d'utiliser les nouvelles balises HTML5 dans les versions d'IE qui ne les comprennent pas. Sans cela, IE s'étouffera avec ces balises, vous en aurez donc besoin si vous avez l'intention d'utiliser les balises. Ne vous attendez pas à ce que les balises fassent quoi que ce soit dans IE! Cela empêche simplement le navigateur de se plaindre d'eux.
modernizr définit un ensemble de classes dans votre HTML, en fonction des fonctionnalités disponibles, que vous pouvez utiliser pour modifier votre mise en page en fonction de ce que le navigateur prend en charge. Il vous permet également d'utiliser les nouvelles balises HTML5 dans IE , comme html5shiv.
ie7.js (ainsi que ie8.jset ie9.js) utilise Javascript pour adapter certaines fonctionnalités manquantes à IE.
Pour autant que je sache, il n'y a pas de croisement entre eux (à part html5shiv / modernizr), vous pouvez donc utiliser n'importe quelle combinaison d'entre eux, en fonction des fonctionnalités que vous devez implémenter.
Pendant que je suis sur le sujet et que vous demandez des outils pour rendre IE plus compatible avec d'autres navigateurs, je vous suggère également de vous pencher sur CSS3Pie , qui vous rendra la vie beaucoup plus heureuse si vous prévoyez d'utiliser des coins arrondis sur votre site. (plus une ou deux autres fonctionnalités).
Cela n'a pas non plus de croisement avec les trois autres produits que vous avez mentionnés, bien qu'ils visent tous à rendre les anciennes versions d'IE un peu plus faciles à utiliser.
Modernizr comprend essentiellement l'ensemble de html5shiv.
Paul Irish
Vue d'ensemble fantastique. M'a certainement aussi donné une direction. Merci!
ebrandell
2
@RoyiNamir - Modernizr définit les classes dans le HTML. Il ne fait rien d'autre avec ces classes, mais vous pouvez utiliser d'autres bibliothèques JS ou CSS pour référencer ces classes et faire ce que vous voulez, de la même manière que vous le feriez pour toute autre classe de votre code HTML. Un exemple: vous souhaitez utiliser un placeholderdans votre balise d'entrée. Mais l'ancien IE ne le prend pas en charge. Modernizr ajoutera une classe no-placeholderdans IE; vous pouvez écrire du code Javascript qui fait référence à cette classe afin de pouvoir implémenter un script pour imiter la fonction d'espace réservé sans l'exécuter sur des navigateurs qui n'en ont pas besoin. J'espère que cela explique
Spudley
1
IE9.jsfait tout ce que fait html5shiv.
Phil
12
Le moyen le plus simple de démarrer un nouveau projet HTML5 consiste à utiliser initializr . Il vous guidera et vous permettra de construire, télécharger vos fichiers de projet HTML5.
ils sont un peu les mêmes, et le chemin à parcourir est ATM aussi bien qu'une estimation, et pour mémoire, il y en a un que vous avez manqué,
http://html5boilerplate.com/ C'est une sorte de répétition d'il y a quelques années lorsque le prototype et jQuery se battaient dans le même espace. Je risquerais personnellement que jQuery ait gagné, mais pour l'instant, il est impossible de dire lequel d'entre eux gagnera ce combat particulier. Je ne pense pas que je pourrais recommander dean edwards ie7-js car il s'agit principalement de faire en sorte qu'IE7 agisse comme d'autres navigateurs plus intelligents et sympathiques plutôt que de tirer parti de l'ensemble du HTML5 autant que des autres frameworks.
Merci d'avoir mentionné passe-partout. J'allais l'inclure dans ma question, mais je voulais que ce soit spécifique aux 3 éléments de ma question, car Modenizer est inclus dans le passe-partout.
PaulM
1
Vous vous trompez sur ce qu'est html5boilerplate, html5boilerplate est un paquet contenant ce dont vous avez besoin pour démarrer un projet Web, tel que initializr, à un moment donné dans les anciennes versions de html5boilerplate et même peut-être maintenant, cela expliquerait que vous devriez utiliser modernizr ou html5shiv et ne pas utiliser les deux, car modernizr fait ce dont vous avez besoin, vous devez également télécharger un modernizr personnalisé pour votre environnement de production et n'utiliser que ce dont vous avez besoin, si vous n'allez pas utiliser les classes modernizr, vous devez vous en tenir à html5shiv!
Neo
html5boilerplate a radicalement changé depuis que cette question a été posée en 2010 et maintenant. il l'a fait alors, ce qui était voulu dans la question posée alors, regroupait tout ce dont vous aviez besoin pour démarrer un projet HTML5. la question initiale était «Je cherche à créer mon premier HTML5». Je crois toujours que html5boilerplate était une option alternative acceptable pour la question posée au moment où elle a été posée.
Réponses:
Non, ils ne sont pas du tout les mêmes; ils font des choses complètement différentes.
html5shiv vous permet d'utiliser les nouvelles balises HTML5 dans les versions d'IE qui ne les comprennent pas. Sans cela, IE s'étouffera avec ces balises, vous en aurez donc besoin si vous avez l'intention d'utiliser les balises. Ne vous attendez pas à ce que les balises fassent quoi que ce soit dans IE! Cela empêche simplement le navigateur de se plaindre d'eux.
modernizr définit un ensemble de classes dans votre HTML, en fonction des fonctionnalités disponibles, que vous pouvez utiliser pour modifier votre mise en page en fonction de ce que le navigateur prend en charge. Il vous permet également d'utiliser les nouvelles balises HTML5 dans IE , comme html5shiv.
ie7.js (ainsi que
ie8.js
etie9.js
) utilise Javascript pour adapter certaines fonctionnalités manquantes à IE.Pour autant que je sache, il n'y a pas de croisement entre eux (à part html5shiv / modernizr), vous pouvez donc utiliser n'importe quelle combinaison d'entre eux, en fonction des fonctionnalités que vous devez implémenter.
Pendant que je suis sur le sujet et que vous demandez des outils pour rendre IE plus compatible avec d'autres navigateurs, je vous suggère également de vous pencher sur CSS3Pie , qui vous rendra la vie beaucoup plus heureuse si vous prévoyez d'utiliser des coins arrondis sur votre site. (plus une ou deux autres fonctionnalités).
Cela n'a pas non plus de croisement avec les trois autres produits que vous avez mentionnés, bien qu'ils visent tous à rendre les anciennes versions d'IE un peu plus faciles à utiliser.
la source
placeholder
dans votre balise d'entrée. Mais l'ancien IE ne le prend pas en charge. Modernizr ajoutera une classeno-placeholder
dans IE; vous pouvez écrire du code Javascript qui fait référence à cette classe afin de pouvoir implémenter un script pour imiter la fonction d'espace réservé sans l'exécuter sur des navigateurs qui n'en ont pas besoin. J'espère que cela expliqueIE9.js
fait tout ce que fait html5shiv.Le moyen le plus simple de démarrer un nouveau projet HTML5 consiste à utiliser initializr . Il vous guidera et vous permettra de construire, télécharger vos fichiers de projet HTML5.
la source
ils sont un peu les mêmes, et le chemin à parcourir est ATM aussi bien qu'une estimation, et pour mémoire, il y en a un que vous avez manqué, http://html5boilerplate.com/ C'est une sorte de répétition d'il y a quelques années lorsque le prototype et jQuery se battaient dans le même espace. Je risquerais personnellement que jQuery ait gagné, mais pour l'instant, il est impossible de dire lequel d'entre eux gagnera ce combat particulier. Je ne pense pas que je pourrais recommander dean edwards ie7-js car il s'agit principalement de faire en sorte qu'IE7 agisse comme d'autres navigateurs plus intelligents et sympathiques plutôt que de tirer parti de l'ensemble du HTML5 autant que des autres frameworks.
la source