Моргание фонового изображения в IE

Иногда при вёрстке меню приходится задавать фоновое изображение для тега A. При наведении курсора мыши на такой элемент в IE происходит моргание фоновой картинки, по причине того, что браузер каждый раз пытается загрузить её с сервера.

Чтобы избавиться от этого неприятного эфекта, добавьте в начало страницы следующий код, заставляющий включить кэширование фоновых картинок:

<script>
    document.execCommand("BackgroundImageCache", false, true);
</script>

Либо тоже самое, но через css:

body {
    filter: expression(document.execCommand("BackgroundImageCache", false, true));
}
Пошерить
Плюсануть
Отправить
Вотсапнуть

Добавить комментарий

Такой e-mail уже зарегистрирован. Воспользуйтесь формой входа или введите другой.

Вы ввели некорректные логин или пароль

Извините, для комментирования необходимо войти.

1. Нажимая на кнопку "Отправить", я даю согласие на обработку персональных данных.

2. Для вставки кода используйте специальные теги [code lang="php"]ваш код[/code]

6 комментариев

сначала новые
по рейтингу сначала новые по хронологии

не работает!!! В IE7 как был косяк, так и остался

Автор
Кобзарёв Михаил

Пример в студию!

Вообще, есть более рациональное решение.

Есть такое понятие, как css-спрайты. Берете две картинки, которые меняются фоном, объединяете в одну, а потом через css просто позиционируете этот фон.

1. Не важно, включено кэширование или нет - загрузятся сразу "обе" картинки.

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

Например, на много быстрее будет загружаться 1 файл размеров 50Кб, чем 10 файлов по 5Кб.

3. Это будет работать, независимо от поддержки скриптов у пользователя и прочего. Просто и на 100% кроссбраузерно.

Автор
Кобзарёв Михаил

Да, но от моргания в IE6 это никак не спасает! Хоть 10 спрайтов создайте. Этому подвержены многие IE6 Windows XP SPI и некоторые индивиды SP2. Решение есть - использовать CSS прелоадер (скрыйтый слой, на фон которого кладем нужную картинку).

Автор
Кобзарёв Михаил

Задайте пропадающее изображение фоном для родительского элемента, сдивнув его за область видимости - один из знаменитых багов ИЕ

Добрый день!

Ситуация следующая:

есть команда, - '' ...

И, вы удивитесь, у меня проблемы ... Дело в том, что в двух слоях одна под другой находятся два img разного тона. При наведении мыши на ссылку, верхняя img становится невидимой, чем достигается эффект нажатия клавиши ... Но при этом ... При наведении курсоры мыши происходит дрожание изображения: верхняя img, с неизвестной частотой, становится то видимой, то невидимой ... Что бы это значило и как от этого избавиться ??? Пробовал вашу подсказку, - не выходит ни в Explorer'e, ни в Opera. Спасибо.