HTML5shiv vs Dean Edwards IE7-js проти Modernizr - що вибрати?


113

Я хочу створити свій перший сайт HTML5 і розглядав роботу з IE.

Є html5shiv, Дін Едвардс ie7-js, а потім Modernizr. Чи всі вони багато в чому однакові? Я розгублений, яким маршрутом їхати.


1
+10 для дивовижного питання.
Снексе

Відповіді:


124

Ні, вони зовсім не однакові; вони роблять зовсім інші речі.

  • html5shiv дозволяє використовувати нові теги HTML5 у версіях IE, які не розуміють їх. Без цього IE задихнеться від цих тегів, тому вам це потрібно, якщо ви збираєтесь використовувати теги. Не сподівайтесь, що вони змусять насправді щось робити в IE! Це просто зупинить браузер скаржитися на них.

  • modernizr встановлює безліч класів у вашому HTML, залежно від доступних функцій, які ви можете використовувати для зміни вашого макета відповідно до того, що підтримує браузер. Це також дозволяє використовувати нові теги HTML5 в IE , як html5shiv.

  • ie7.js (як ie8.jsі ie9.js) використовує Javascript для ретро-підгонки деякої відсутньої функціональності до IE.

Наскільки мені відомо, між ними немає перехрестя (окрім html5shiv / modernizr), тому ви можете використовувати будь-яку їх комбінацію, залежно від того, які функції потрібно реалізувати.

Поки я на тему, і оскільки ви запитуєте про інструменти, щоб зробити IE більш сумісним з іншими браузерами, я пропоную вам також заглянути в CSS3Pie , що зробить ваше життя набагато щасливішим, якщо ви плануєте використовувати закруглені кути на своєму сайті (плюс одну або дві інші функції).

Це також не має перехрестя з іншими трьома продуктами, які ви згадали, хоча всі вони спрямовані на те, щоб зробити старі версії IE трохи простішими.


Ось відповідь я шукав. Дякую :)
PaulM

64
Modernizr по суті включає цілий html5shiv.
Пол Ірландський

Фантастичний огляд. Безумовно, дав мені і певне керівництво. Дякую!
ebrandell

2
@RoyiNamir - Modernizr встановлює класи в HTML. Він сам не робить нічого іншого з цими класами, але ви можете використовувати інші JS libs або CSS для посилання на ці класи та робити все, що завгодно, так само, як і для будь-якого іншого класу у вашому HTML-коді. Приклад: Ви хочете використовувати placeholderтег вводу. Але старий IE не підтримує це. Modernizr додасть клас no-placeholderв IE; Ви можете написати код Javascript, на який посилається цей клас, щоб Ви могли реалізувати скрипт, що імітує функцію заповнення місця, не запускаючи його в браузерах, які йому не потрібні. Сподіваюсь, що це пояснює
Спдлі

1
IE9.jsробить все html5shiv також.
Філ

12

Найпростіший спосіб запустити новий проект HTML5 - це використовувати inicijalizr . Він допоможе вам створити та завантажити файли проекту HTML5.


5

вони дещо однакові, і який шлях поїхати - це банкомат, як і гадаю, в будь-якому випадку, і для запису є один, який ви пропустили, http://html5boilerplate.com/ Це щось на зразок повторення декількох років тому, коли прототип та jQuery воювали в одному просторі. Я особисто загрожую, що jQuery виграв, але поки що не сказано, хто з них виграє саме цю боротьбу. Я не думаю, що я міг би порекомендувати dean edwards ie7-js, оскільки він здебільшого має справу з тим, щоб IE7 діяв так, як інші більш інтелектуальні та приємні браузери, на відміну від використання цілої HTML5 речі настільки ж, як інші рамки.


2
Дякуємо, що згадали котельну плиту. Я збирався включити це у своє запитання, але хотів, щоб воно було специфічним для трьох пунктів мого запитання, оскільки Modenizer включений у котельну плиту.
PaulM

1
Ви невірно ставитесь до того, що таке html5boilerplate, html5boilerplate - це пакет, що містить те, що вам потрібно для запуску веб-проекту, такого як ініціалізар, у якийсь момент у старих версіях html5boilerplate і навіть, можливо, зараз, це пояснить, що вам слід використовувати modernizr або html5shiv і не використовуйте обох, оскільки modernizr робить те, що вам потрібно, також ви повинні завантажити спеціальний модернізатор для свого виробничого середовища та використовувати лише те, що вам потрібно, якщо ви не збираєтесь використовувати матеріали модернізатор класів, то вам слід дотримуватися html5shiv!
Нео

html5boilerplate змінився досить кардинально, оскільки це питання було задано у 2010 році та зараз. Тоді це було, про що тоді хотіли у запитанні, зв'язавши все, що потрібно для запуску проекту HTML5. початкове запитання було "Я хочу створити свій перший HTML5". Я все ще вважаю, що html5boilerplate був прийнятним варіантом для запитання, яке було задано під час його запитання.
FatherStorm
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.