Лечимся от IE с помощью IE.js

18 марта 2011, рубрика: Баги, фиксы, Верстка |

Лечимся от IE с помощью IE.jsНедавно, блуждая в интернете, чисто случайно обнаружил для себя эту Вещь. Она, в перспективе вылечит геморрой, появляющийся  у верстальщиков, пытающихся оптимизировать свои сайты под всеми любимый IE. Заинтригованы? =) Речь пойдет о javascript библиотеке, которая позволяет заставить  Internet Explorer поддерживать общепринятые стандарты. Она даже позволяет в IE5 и IE6 отображать PNG изображения с прозрачностью!

Я уже описывал некоторые способы бороться с этим делом, но в данном случае Dean Edwards, разработчик этой библиотеки решил действовать радикально. С помощью одной библиотеки он захотел решить все баги с эксплорером =) Наивный =)) Их же блин, дохера… библиотеку качаем тут:

Что может исправить IE.js ?

PNG- прозрачность, селекторы, псевдоклассы… Не имеет смысла здесь перечислять весь список, так как на этой странице, описаны все возможности. Так  там же можно посмотреть демо примеры, чтобы убедится что все действительно работает. Увидев этот список, я, мягко говоря, охерел… В общем, оцените сами =)

Как пользоваться IE.js ?

Для использования нужно добавить условные комментарии. Что это такое я описывал тут.  В зависимости от того, что нам надо, выбираем нужный:

IE 5.5- IE 6  будет работать как IE 7

<!--[if lt IE 7]>
<script src="http://ie7-js.googlecode.com/svn/version/2.1(beta4)/IE7.js"></script>
<![endif]-->

IE 5.5- IE 7 будут работать как IE8

<!--[if lt IE 8]>
<script src="http://ie7-js.googlecode.com/svn/version/2.1(beta4)/IE8.js"></script>
<![endif]-->

Замечу, что в этом случае вам не нужно подключать ie7.js
IE 5.5 – IE 8 будут работать как IE9, которые поддерживает современные стандарты.

<!--[if lt IE 9]>
<script src="http://ie7-js.googlecode.com/svn/version/2.1(beta4)/IE9.js"></script>
<![endif]-->

Аналогично, этом случае вам не нужно подключать ie8.js

Баг PNG

По умолчанию, скрипт будет исправлять изображения, у которых имя соответствует шаблону *-trans.png . Если же нужно исправить все изображения, то нужно изменить значение глобальной переменной вот так:

var IE7_PNG_SUFFIX = ".png";

Это значение следует поменять ДО включения скрипта IE.js
Так же возможно установить значение это переменной при включении самого скрипта.

<script src="IE8.js">IE7_PNG_SUFFIX=".png";</script>

Так же можно использовать регулярные выражения для более точного отбора.
Если вы планируете лечить этот баг другим способом, то IE7_PNG_SUFFIX должен иметь значение, которое не соответствует ни одному из шаблонов. Например:

var IE7_PNG_SUFFIX = ":";

По умолчанию, PNG изображения будут растягиваться. Если вам это не нужно, то используйте no-repeat. Например так:

.polezniy {

background: url(my-trans.png) no-repeat;
}

К сожалению, для прозрачных PNG  изображений свойства background-repeat и background-position работать не будут. Но, я надеюсь разработчики решат эту проблему.

Впечатляюще, да? Крутая задумка, если этот проект будет развиваться и далее, то верстка станет намного проще =)




Оцените полезность!
Не полезноПолезно (+16 баллов, 18 оценок)

5 комментариев на «Лечимся от IE с помощью IE.js»

  1. Seoonly пишет:

    Его ничего не вылечит

    • Polezniy пишет:

      Это точно но боротся с ним можно... А вообще его нужно запретить, а тех, кто его использует — сажать на 5 лет =)

  2. Анатолий Драгин пишет:

    как веб-мастер поддерживаю...нервы свои дороже чем этот ишак те кто на нем сидит, мелкомягкие даже 9 делает баганым, но хоть простилизировать его проще чем тот же ie7

  3. John пишет:

    Хотелось , чтоби бил один «совершенний» браузер для всех...

    Все разработчики собрались вместе и исправили все баги...

  4. Злой Гений пишет:

    Спешу всех порадовать, предложенное выше решение не рабочее!) IE если и вылечат, то только его разработчики!) если нет, то тут никто не всесилен!) ...а так IE9 уже практически все поддерживает, подключили подходящий доктайп, обновили IE до последней версии, и радуйтесь обзорами ослика!))

Ваш отзыв

.Все права защищены © 2017 Блог Полезного.