В чем разница между Modernizr и Html5Shiv?

12

Я играл с идеей перехода на HTML5. Кажется, есть 2 основных скрипта для поддержки html5 в старых браузерах.

Модернизр и HTML5Шив

Мне было интересно, если они делают то же самое. Какой выбрать и почему?

Есть идеи?

Синан
источник

Ответы:

8

Modernizr используется для проверки доступности функций HTML5 в различных механизмах рендеринга. Он включает в себя скрипт типа Html5Shiv, который (только) включает теги HTML5 в Microsoft Internet Explorer (до версии 9, которая знала HTML5). Смотрите также «Как заставить HTML5 работать в IE и Firefox 2» .

Если вы просто хотите включить HTML5 для IE <9, то Html5Shiv будет достаточно. Я использую версию Html5Shiv Реми Шарпа в условном комментарии MS:

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

Если вы также хотите проверить (через CSS или JS), способен ли браузер клиента, например, использовать элементы HTML5-формы (например, ввод даты в Operas), столбцы или градиенты CSS3, используйте Modernizr .

feeela
источник
2

Вы также можете попробовать html5boilerplate.com , хороший ресурс для начала работы с сайтами html5, они предоставляют переключаемые варианты, такие как html5 shiv или modernizr, наряду со многими другими базовыми улучшениями.

Kzqai
источник
да html5boilerplate это хорошо. У него есть выбор для модернизра или html5shiv. Но какой включить?
Синан
достаточно справедливо, я думаю, html5, что вызвало вопрос?
Kzqai
1

Я знаю, что это было некоторое время назад, но я чувствовал, что должен добавить, что modernizr, по-видимому, не заполняет элементы HTML5, загружаемые через AJAX, - он работает только с контентом, который присутствовал при начальной загрузке страницы. Html5Shiv работает с контентом, загруженным через AJAX, но это также лишь небольшая часть набора функций модернизатора. На самом деле мы используем оба в веб-приложении, над которым я работаю.

изохронный
источник