Нет, они совсем не такие; они делают совершенно разные вещи.
html5shiv позволяет использовать новые теги HTML5 в версиях IE, которые их не понимают. Без него IE будет подавляться этими тегами, поэтому вам понадобится это, если вы собираетесь использовать теги. Однако не ожидайте, что это заставит теги что-либо делать в IE! Это просто не дает браузеру жаловаться на них.
modernizr устанавливает набор классов в вашем HTML в зависимости от доступных функций, которые вы можете использовать для изменения вашего макета в соответствии с тем, что поддерживает браузер. Он также позволяет использовать новые теги HTML5 в IE , например html5shiv.
ie7.js (а также ie8.jsи ie9.js) использует Javascript для обновления некоторых недостающих функций в IE.
Насколько мне известно, между ними нет пересечения (кроме html5shiv / modernizr), поэтому вы можете использовать любую их комбинацию, в зависимости от того, какие функции вам нужно реализовать.
Раз уж я затронул эту тему, и поскольку вы спрашиваете об инструментах, которые сделают IE более совместимым с другими браузерами, я предлагаю вам также изучить CSS3Pie , который сделает вашу жизнь намного счастливее, если вы планируете использовать закругленные углы на своем сайте. (плюс одна или две другие функции).
Это также не имеет пересечения с другими тремя продуктами, которые вы упомянули, хотя все они направлены на то, чтобы немного упростить работу со старыми версиями IE.
Modernizr, по сути, включает в себя весь html5shiv.
Пол Айриш
Фантастический обзор. Конечно, тоже дал мне какое-то направление. Спасибо!
ebrandell
2
@RoyiNamir - Modernizr устанавливает классы в HTML. Сам он больше ничего не делает с этими классами, но вы можете использовать другие библиотеки JS или CSS для ссылки на эти классы и делать все, что захотите, так же, как и для любого другого класса в вашем HTML-коде. Пример: вы хотите использовать placeholderв своем теге ввода. Но старый IE его не поддерживает. Modernizr добавит класс no-placeholderв IE; вы можете написать код Javascript, который ссылается на этот класс, чтобы вы могли реализовать скрипт, имитирующий функцию заполнителя, не запуская его в браузерах, которым он не нужен. Надеюсь, это все объясняет
Spudley
1
IE9.jsделает все, что делает html5shiv.
Фил
12
Самый простой способ начать новый проект HTML5 - использовать initializr . Он поможет вам создать и загрузить файлы проекта HTML5.
они в чем-то одинаковы, и какой путь - это банкомат, в любом случае неплохое предположение, и для записи, есть один, который вы пропустили,
http://html5boilerplate.com/ Это своего рода повторение нескольких лет назад, когда прототип и jQuery боролись в одном пространстве. Я лично рискую, что jQuery выиграет, но пока неизвестно, кто из них выиграет этот конкретный бой. Не думаю, что могу порекомендовать dean edwards ie7-js, поскольку он в основном касается того, чтобы IE7 работал как другие более умные и симпатичные браузеры, а не использовал весь HTML5 в той же мере, что и другие фреймворки.
Спасибо, что упомянули шаблон. Я собирался включить это в свой вопрос, но хотел, чтобы он относился к трем пунктам моего вопроса, так как Modenizer включен в шаблон.
PaulM
1
Вы ошибаетесь в отношении того, что такое html5boilerplate, html5boilerplate - это пакет, содержащий то, что вам нужно для запуска веб-проекта, например initializr, в какой-то момент в более старых версиях html5boilerplate и даже, возможно, сейчас, это объяснит, что вы должны использовать modernizr или html5shiv и не используйте оба, поскольку modernizr делает то, что вам нужно, также вы должны загрузить собственный modernizr для своей производственной среды и использовать только то, что вам нужно, если вы не собираетесь использовать классы, поставляемые modernizr, тогда вам следует придерживаться html5shiv!
Neo
html5boilerplate сильно изменился с тех пор, как этот вопрос был задан в 2010 году и сейчас. Тогда он сделал то, что требовалось в заданном тогда вопросе, включил все необходимое для запуска проекта HTML5. исходный вопрос был: «Я хочу создать свой первый HTML5». Я по-прежнему считаю, что html5boilerplate был приемлемой альтернативой для вопроса, заданного в то время, когда его задавали.
Ответы:
Нет, они совсем не такие; они делают совершенно разные вещи.
html5shiv позволяет использовать новые теги HTML5 в версиях IE, которые их не понимают. Без него IE будет подавляться этими тегами, поэтому вам понадобится это, если вы собираетесь использовать теги. Однако не ожидайте, что это заставит теги что-либо делать в IE! Это просто не дает браузеру жаловаться на них.
modernizr устанавливает набор классов в вашем HTML в зависимости от доступных функций, которые вы можете использовать для изменения вашего макета в соответствии с тем, что поддерживает браузер. Он также позволяет использовать новые теги HTML5 в IE , например html5shiv.
ie7.js (а также
ie8.js
иie9.js
) использует Javascript для обновления некоторых недостающих функций в IE.Насколько мне известно, между ними нет пересечения (кроме html5shiv / modernizr), поэтому вы можете использовать любую их комбинацию, в зависимости от того, какие функции вам нужно реализовать.
Раз уж я затронул эту тему, и поскольку вы спрашиваете об инструментах, которые сделают IE более совместимым с другими браузерами, я предлагаю вам также изучить CSS3Pie , который сделает вашу жизнь намного счастливее, если вы планируете использовать закругленные углы на своем сайте. (плюс одна или две другие функции).
Это также не имеет пересечения с другими тремя продуктами, которые вы упомянули, хотя все они направлены на то, чтобы немного упростить работу со старыми версиями IE.
источник
placeholder
в своем теге ввода. Но старый IE его не поддерживает. Modernizr добавит классno-placeholder
в IE; вы можете написать код Javascript, который ссылается на этот класс, чтобы вы могли реализовать скрипт, имитирующий функцию заполнителя, не запуская его в браузерах, которым он не нужен. Надеюсь, это все объясняетIE9.js
делает все, что делает html5shiv.Самый простой способ начать новый проект HTML5 - использовать initializr . Он поможет вам создать и загрузить файлы проекта HTML5.
источник
они в чем-то одинаковы, и какой путь - это банкомат, в любом случае неплохое предположение, и для записи, есть один, который вы пропустили, http://html5boilerplate.com/ Это своего рода повторение нескольких лет назад, когда прототип и jQuery боролись в одном пространстве. Я лично рискую, что jQuery выиграет, но пока неизвестно, кто из них выиграет этот конкретный бой. Не думаю, что могу порекомендовать dean edwards ie7-js, поскольку он в основном касается того, чтобы IE7 работал как другие более умные и симпатичные браузеры, а не использовал весь HTML5 в той же мере, что и другие фреймворки.
источник