Вы никогда не получите движок IE7 или IE8 для полной совместимости с HTML5, CSS3 и другими современными технологиями. Они просто не способны на это.
Однако есть некоторые хаки, инструменты и плагины, которые могут помочь вам в этом.
Такие инструменты, как Modernizr , помогут вам определить, какие функции поддерживаются, и дать вашему сайту возможность обойти это.
jQuery - отличная библиотека в любом случае, но она особенно хороша в этом контексте, потому что она отвлекает браузеров от различий. Некоторые вещи просты в большинстве браузеров, но настоящая боль в IE; jQuery берет много такого рода вещей и делает это легко независимо.
IE7.js Дина Эдвардса и Selectivzr - обе библиотеки Javascript, которые обеспечивают поддержку IE для многих селекторов CSS, которые отсутствовали в более старых версиях. Это позволяет вам писать таблицы стилей, не беспокоясь о том, что поддерживает IE. (IE7.js также исправляет ряд других глюков IE и тоже отсутствует)
CSS3Pie - это хак для IE, который добавляет поддержку CSS border-radius
, градиентов и box-shadow
.
На самом деле существует целая куча хаков по всем направлениям, все они направлены на добавление функций в более старые версии IE, которых в нем нет. На сайте Modernizr большой список: https://github.com/Modernizr/Modernizr/wiki/HTML5-Cross-Browser-Polyfills
Однако есть одна большая оговорка ко всему этому. Скорость. IE <= 8 - медленный браузер. У него медленный движок Javascript. Практически все эти хаки основаны на javascript. Возможно, вам не удастся запустить несколько из них на любом конкретном сайте, но попытка использовать их достаточно, чтобы дать IE что-то вроде полной поддержки HTML5 и CSS3, замедлит работу браузера до такой степени, что он станет непригодным для использования. </p>
Однако есть еще один подход к этому вопросу, и это плагин Google Frame для IE. Это в основном устанавливает весь браузер Google Chrome в IE. Пользователь по-прежнему использует оболочку IE, но веб-страница отображается так же, как в современной версии Chrome.
Звучит отлично, но, конечно, не идеально. Основным недостатком является то, что конечный пользователь должен установить его вручную на свой компьютер, а это означает, что вы, как веб-разработчик, не имеете реального контроля над тем, есть ли он там или нет. Так что это не то, что вы можете просто добавить на свой сайт и ожидать, что все будет работать волшебным образом.
Наконец, вас также может заинтересовать CanIUse.com , который предоставляет таблицы поддержки браузера для различных функций, позволяя сразу увидеть, что и что не поддерживается в различных версиях каждого из них. браузер.