Модернизр против HTML Шив - PullRequest
14 голосов
/ 26 ноября 2011

Если мне нужны ТОЛЬКО старые браузеры для распознавания тегов HTML5, которые я должен использовать, Modernizr или популярный HTML5 shiv ? А также, если мне не нужно стилизовать эти теги HTML5, нужно ли браузерам распознавать их в любом случае? Или это необходимо только при добавлении CSS к этим тегам?

Спасибо!

Ответы [ 3 ]

16 голосов
/ 26 ноября 2011

html5shiv в основном позволяет IE распознавать и стилизовать элементы HTML5, в то время как Modernizr предоставляет те же функции обнаружения плюсов, которые поддерживаются посредником.

Таким образом, чтобы ответить на ваш вопрос, HTML5 должно быть достаточно для распознавания тегов HTML5 в IE.(обратите внимание, я здесь говорю IE, поскольку именно это и предназначается для html5shiv, не знаю, что вы имеете в виду, когда говорите о старых браузерах)

Во второй части, даже если вы не хотите стилизовать теги HTML5, яЯ бы посоветовал использовать Shiv, так как браузер может отображать их неправильно или не отображать вообще, так что лучше быть в безопасности.

11 голосов
/ 26 ноября 2011

HTML5 Shiv меньше, и если вам не нужны некоторые функции обнаружения Modernizr, перейдите к Shiv.

Размер файла очень важен, так как он всегда находится в заголовке HTML-документа иблокирует загрузку дополнительных ресурсов до полного их выполнения.

Поскольку это необходимо только для старых браузеров, я использую следующий код:

<!--[if lt IE 9]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->

Вы можете удалить html-теги, которые вы не используете, но тогда вы не сможете их использовать.файл размещен в Google.

1 голос
/ 07 сентября 2013

В качестве альтернативы вы можете использовать Modernizr для загрузки определенного файла, если браузер поддерживает эти конкретные функции CSS или HTML5.

Допустим, браузер не поддерживает «canvas» как элемент HTML5 и «fontface» как свойство CSS3

Modernizr.load({
test: Modernizr.fontface && Modernizr.canvas, // Test if the browser supports it or not
yep : '/path-to/html5-css3-attributes.css',  // If browser supports it, load this file
nope: '/path-to/old-css-attributes.css' // If NOT, load this instead
});

Вы также можете использовать .js в своем пути к файлу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...