IE 6 и фоновые изображения
Четверг, декабря 4, 2008 0:16Рубрика CSS
Хочу описать следующую проблему. Возможно кто-то из моих читателей сталкивался с тем, что в IE 6 у элемента, для которого установлен параметр background-image, при событии hover браузер каждый раз заново подгружает это фоновое изображение с сервера (image flicker). Видимо данная проблема связана с неправильным кэшированием. К тому же замечу, что данный баг может проявлятся не всегда и не во всех шестерках. В других браузерах такого не наблюдается вообще.
Благо что и от этой болезни IE 6 существует лекарство. Для этого опять же прибегаем к помощи expression и Javascript:
html { filter:expression(document.execCommand("BackgroundImageCache",
false, true)); }
Вот и все. Эта строчка в CSS должна избавить вас от вышеописанной проблемы. Удачи.
Вы можете следить за развитием темы при помощи ленты RSS 2.0 .


Anstak пишет:
11 мая 2009 в 15:26
Интересное решение, но оно очень грубое. Отягощать и без того бедный IE6 вредно. Ты не думал о другом способе? У тебя же вон есть статья про CSS спрайты, по сути тоже самое. Вот почитай http://forgottens.ru/?p=24
Dimon пишет:
11 мая 2009 в 20:34
@Anstak, согласен, во многих случаях действительно можно использовать CSS-спрайты, но бывают такие ситуации когда применить спрайты нельзя либо это затруднительно. Вот тогда и пригодится этот совет. Лично я сталкивался с проблемой кэширования в IE 6 максимум пару раз. К тому же, описанное выше решение устраняет проблему только в родной шестерке, т.е. в IE 6 из комплекта MultipleIEs этот трюк не срабатывает.
GreLI пишет:
15 января 2010 в 0:54
Надо заметить, что опция существует с IE6 SP1. До этого — JS ошибка. Поэтому обычно пишут в скриптах через try {…} catch {}. Ну и без JS не работает ^_^.