HTML5 shiv также необходимы для IE9, чтобы поддерживать элементы HTML5
Я использую следующие элементы HTML5 на своих страницах: заголовок, статья, раздел и навигатор.
Теперь я установил все вышеперечисленные элементы HTML5 как display: block, и я включаю shiv HTML5 с условным выражением в заголовке:
<!--[if lt IE 9]>
<script src="dist/html5shiv.js"></script>
<![endif]-->
Сайт отлично работает в IE7 и IE8, что указывает на то, что html5shiv действительно делает это волшебство.
Однако, когда я тестирую сайт в IE9, ему не хватает стилей для всего содержимого внутри элементов HTML5.
Как только я сменил условный оператор на:
<!--[if IE]>
<script src="dist/html5shiv.js"></script>
<![endif]-->
Элементы html5 и его дети теперь получают правильный стиль. Я дважды проверял мою версию IE, и он говорит, что у меня есть версия IE 9.0.8112.16421.
Я также должен отметить, что сайты построены с помощью PHP и кэшируются с использованием PEAR Cache_Lite. Однако тесты, выполненные на простой статической странице html, дают мне те же результаты.
Любые идеи?
Ответы
Ответ 1
Наконец-то мне удалось выяснить, в чем проблема.
У меня был комментарий в верхней части моего сайта, до тега html doctype. Это, похоже, нарушает способность IE9 распознавать элементы HTML5.
Это то, что у меня было:
<!-- Served From Cache: Wednesday 13th of February 2013 03:02:22 PM -->
<!DOCTYPE html>
<html>
<head>
Итак, я смог исправить это, переместив комментарий ниже doctype.
Ответ 2
Попробуйте этот код
<!--[if lt IE 9]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->