Верх страницы
Время для прочтения: 0 мин. 0 сек.

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

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

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

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

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

body {
    filter: expression(document.execCommand("BackgroundImageCache", false, true));
}

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

Русский разработчик с 20-ти летним стажем. Работаю с PHP, ООП, JavaScript, Git, WordPress, Битрикс, Joomla, Drupal, Opencart, DLE, Laravel, Moonshine, SuiteCRM.

Оптимизирую сайты под Google Page Speed, настраиваю импорты для больших магазинов на WooCommerce + WP All Import. Пишу плагины на заказ. Все мои услуги.

Веду блог о разработке, дайджест в телеграмме и в ВК.

Вы всегда можете нанять меня.

Комментарии
Подписаться
Уведомить о
guest

6 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии
Дмитрий
13 лет назад

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

Колодин Василий Сергеевич

Вообще, есть более рациональное решение.
Есть такое понятие, как css-спрайты. Берете две картинки, которые меняются фоном, объединяете в одну, а потом через css просто позиционируете этот фон.
1. Не важно, включено кэширование или нет — загрузятся сразу «обе» картинки.
2. За счет объединения — уменьшается число загружаемых файлов, что снижает число запросов на сервер, что уменьшает время загрузки.
Например, на много быстрее будет загружаться 1 файл размеров 50Кб, чем 10 файлов по 5Кб.
3. Это будет работать, независимо от поддержки скриптов у пользователя и прочего. Просто и на 100% кроссбраузерно.

сау
сау
13 лет назад

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

Предыдущая запись
Следующая запись

Давайте дружить
в Telegram

Авторский блог вашего покорного слуги в Telegram про web, программирование, алгоритмы, инструменты разработчика, WordPress, Joomla, Opencart, Laravel, Moonshine, фильмы и сериалы