Понимание преимуществ Modernizr перед html5shiv - PullRequest
38 голосов
/ 10 марта 2012

Я знаю, что на сайте есть много хороших вопросов об этих двух библиотеках сценариев.

Я хотел спросить что-то, чего не могу найти ни в одном из них.

Что Modernizr обеспечивает, что html5shiv не «из коробки», то есть просто включает скрипт.

Я знаю, что html5shiv "просто" исправляет элементы HTML5 для IE <9, его поддержка на этом заканчивается? </p>

Modernizr исправляет проблемы CSS3 в навигаторах IE? Ie9.js делает это? (и я имею в виду этот конкретный вопрос из коробки, без дополнительного кода JS для обработки угловых случаев)

Каковы преимущества Modernizr по сравнению с html5shiv, когда вы учитываете использование библиотеки помимо простого включения скрипта?

Ответы [ 2 ]

54 голосов
/ 10 марта 2012

Они делают разные вещи.

Modernizr обнаруживает наличие функций на странице, позволяя вам предоставлять собственные полизаполнения для старых браузеров, если вам требуется эта функциональность. Вы можете добавить поддержку <canvas>, используя полифилл тега canvas, чтобы функциональность canvas, включая интерфейс JavaScript, в браузерах, которые не поддерживают тег <canvas>.

Html5shiv добавляет новые теги html5, которые недоступны (<section>, <header> и т. Д.) Для старых браузеров. Он также создает стили по умолчанию (например, display: block для <section>).

Вот и все. Он не предоставляет никаких других функций.

40 голосов
/ 23 марта 2013

Modernizr 1.5+ на самом деле включает в себя HTML5Shiv, поэтому, если вы используете его, Shiv является избыточным. Источник: http://modernizr.com/docs/#html5inie

"Начиная с Modernizr 1.5, этот скрипт идентичен тому, что используется в популярной библиотеке html5shim / html5shiv."

...