Главная » Мерцание background-image при наведении мышки в IE6

Мерцание background-image при наведении мышки в IE6

Один из самых противных глюков Интернет Експлорера 6 заключается в том что если для элемента указан background-image в CSS, то при событии hover на этом элементе ИЕ6 будет каждый раз снова и снова подгружать картинку с сервера, а не использовать ту которую он сохраняет в кеше.

То есть, если в вашем дизайне есть меню, которому заданы фоновые изображения, то все они будут мерцать при наведении мыши на каждый элемент меню. Не эстетично и раздражает глаз. Я задался задачей найти элегантное решние проблемы и вот что я нашел на просторах сети: Эта браузерная ошибка решается минутной правкой настоек Apache сервера:

В файл httpd.conf добавляются следующие строки:

ExpiresActive On
ExpiresDefault A18000
ExpiresByType image/gif A2592000
ExpiresByType image/jpeg A2592000
ExpiresByType image/png A2592000

Которые заставляют браузер кешировать файлы картинок сроком на 30 дней (2592000 секунд, при желании можно поменять), как это указано в спецификациях W3C а не так как этого хотят Мелкомягкие.

* Те у кого нет доступа к httpd.conf могут прописать эти строчки в .htaccess файле, в самом низу.

Затем нужно убедиться что в Апаче включен модуль mod_expires:

LoadModule expires_module modules/mod_expires.so

Вуаля! Все отлично заработало. Но есть один момент. Это решение не будет работать если ваши картинки грузятся с постороннего сервера.

Такое же решение для сервера IIS здесь (eng).

Источник там (eng).



Еще нет комментариев »

Оставить комментарий

XHTML (Разрешенные теги): <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong> .

Если вы хотите вставить в комментарий код, то жмите на кнопку "HTML" в редакторе и используйте теги <pre><code> и </pre></code> для вставки.

Не забывайте о том, что теги, вставленые без использования &lt;/&gt; будут автоматически трансформироваться.

Цитировать отмеченый текст