Как очистить кеш favicon в IE? - PullRequest
       26

Как очистить кеш favicon в IE?

29 голосов
/ 19 октября 2010

У меня есть любимая иконка, определенная для моего веб-сайта:

<link rel="shortcut icon" type="image/x-icon" href="favicon.ico">

Любой браузер, который посетил сайт после Я добавил иконку, может отображать значок избранного.Но мой собственный браузер отказывается показывать значок.

Я пробовал все варианты ссылок, о которых могу подумать:

<link rel="shortcut icon" type="image/x-icon" href="favicon.ico">

<link rel="shortcut icon" type="image/x-icon" href="http://example.com/favicon.ico">

<link rel="icon" type="image/x-icon" href="favicon.ico">

<link rel="icon" type="image/x-icon" href="http://example.com/favicon.ico">

<link rel="shortcut icon" type="image/x-icon" href="favicon.ico">
<link rel="icon" type="image/x-icon" href="favicon.ico">

<link rel="shortcut icon" type="image/x-icon" href="http://example.com/favicon.ico">
<link rel="icon" type="image/x-icon" href="http://example.com/favicon.ico">

<link rel="shortcut icon" type="image/x-icon" href="renamed.ico">

Неважно, Internet Explorer (9)отказывается даже пытаться сделать выборку с сервера (мониторинг из fiddler).

я пытался очистить кэш много раз:

(gear) -> Internet Options -> General -> Delete -> Temporary Internet Files

Алекс в этом ответе считает, что избранные значки кэшируются иначе, чем обычный веб-контент, и не следуют обычным правилам очистки.

Поэтому возникает вопрос: как очистить кеш любимых значков Internet Explorer?

См. Также

Ответы [ 6 ]

36 голосов
/ 20 октября 2010

Хранит наличие или отсутствие значка истории. Если вы хотите сбросить его, очистите свою историю. Вот исчерпывающий FAQ .


Редактировать: Цитировать блог, называя его расширенным ответом:

почему значок не для моего сайта появиться в IE7?

Это повторная публикация пост, первоначально опубликованный на 2007-03-01. Оригинал можно найти здесь . Эта версия была обновлена ​​до соответствовать тому, что в настоящее время реальность.

Когда я был в Microsoft, я был Разработчик поручил исправить История Favicon для IE7. Оригинал Поведение IE6 было загрузить один раз - когда пользователь сделал сайт Фаворит. Я тоже не хочу идти глубоко в деталях того, как это сумасшествие работает, но ключевой информация для понимания, почему это выглядело так сломано это: отображение между URL сайта URL для сайта Favicon будет храниться в базе данных истории IE и на самом деле биты иконы будут хранятся во временных файлах Интернета папка. Таким образом, если вы очистили свой история или ваш кеш, или предмет истек срок действия одного из значков исчезнет навсегда.

Перемотка вперед к IE7. Это было закончено два (три?) года с момента выхода IE6. Мы хотим реализовать просмотр с вкладками, и мы хотим, чтобы вкладки отображали исправить Favicons. Поэтому я обновил Код Фавикон, чтобы всегда загружать значок при первом посещении. Код также помнит, если нет Фавикон (404) или это было недействительным в некотором роде (ExtractIcon () не удалось).

Вот мини-Faq (с одним бонусом вопрос в конце) что я написал пока я был в Microsoft:

Q: Как мне сделать иконку для мой сайт в IE7?
A: Есть два пути. Во-первых, положить файл в корень вашего домена называется favicon.ico. во-вторых, использовать тег <link> с rel="shortcut icon" значение и href значение, установленное в URL для значка, который вы хотите отобразить.

Q: Как часто IE загружает Favicon?
A: IE загрузит значок когда пользователь впервые заходит на сайт. значок хранится во временном Папка интернет-файлов на клиенте машина. Дополнительные метаданные о favicon хранится в URL пользователя База данных истории. Если какой-либо магазин очищены или пункты, относящиеся к Favicon, естественно, истек, то значок будет снова загружен на следующий визит. Если более одной страницы (или сайт) разделяет тот же значок, это загружается только один раз. IE берет большие усилия, чтобы загрузить значок как в несколько раз, чтобы уменьшить нагрузку на сервере.

Q: Я вижу неправильный значок для некоторых сайты, которые я посещаю. Как мне это исправить?
A: Если база данных истории стала поврежден каким-то образом, это может бывает. Самое простое решение - просто использовать Удалить историю просмотров (на Меню инструментов), чтобы очистить кеш и магазин истории.

Q: Я разместил favicon.ico на своем сайте как Вы описали, но это все еще не появляются.
A: На самом деле это должен быть .ico (значок) файл. Растровые изображения, PNG, GIF, и т. д. не будет работать. IE7 загрузит Ваш значок в Временном Интернете Папка с файлами и вызов ExtractIcon() вкл файл. Если это не удастся, мы покажем значок по умолчанию вместо вашего Favicon.

Q: Я подтвердил, что мой favicon действительно это значок, но он все еще не появляются.
A: Поскольку IE загружает ваш значок из временных файлов Интернета папка, она должна быть в состоянии на самом деле хранить его там. Если вы устанавливаете директива no-cache для файла значков, тогда IE не сможет отобразить ваш значок и будет отображаться по умолчанию значок вместо. Вы можете использовать Fiddler для проверьте.

Q: Как мне создать другой значок за каждую страницу моего сайта?
A: Положите различные теги на каждой странице, указывая на другую иконку.

Q: Я изменил значок сайта на другой значок, но старый еще показывает в IE. Как заставить IE обновить
A: Если вы просто положите файл favicon.ico в корне вашего домен, IE не имеет никакого способа зная, если это изменилось. Чтобы заставить обновить, вам нужно использовать тег и указать другое имя файла, чем вы бывшего употребления. Текущее имя файла сравнивается с известным именем файла хранится в базе данных истории URL. Когда IE видит, что имя файла изменилось, он загрузит ваш новый значок. Кроме того, вы можете спросить своих пользователей очистить их историю и кеш (Инструменты-> Свойства обозревателя-> Удалить История просмотра), которая также будет заставить IE загрузить новый файл.

Q: Что еще сломано?
A: Два вещи:

  1. Если вы укажете альтернативное местоположение с помощью тега, член href должен быть полностью квалифицированным и не уважает тег.
  2. тег должен иметь ярлык значок "как значение rel, но это в нарушение спецификации W3C, которая говорит пробел в теге rel обозначает список значений. IE лечит "ярлык значок "как одно значение. К счастью, это по-прежнему работает для других браузеров, которые видят "ярлык" и игнорировать его и платить только внимание к строке «icon».

Это должно охватывать большую часть вопросы, которые я получил о favicons в IE7. Если у вас есть еще вопросы, не стесняйтесь спрашивать.

15 голосов
/ 19 октября 2010

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

 favicon.ico?def=abcdefghijklmn

это хакерство, но часто работает там, где нет правильных заголовков кэширования и т. Д.

4 голосов
/ 06 ноября 2013

Если вы перейдете непосредственно к файлу favicon (например, http://www.mydomain.com/favicon.ico)), а затем нажмите F5 (иногда Ctrl + F5), значок будет обновлен.

Это работает в IE и Firefox.

4 голосов
/ 11 мая 2012

В IE8 и IE9 вы должны использовать абсолютные пути для href.Относительные пути не работают, независимо от того, какую ссылку вы используете.type = также не требуется.

Следующее работает лучше всего для меня во всех браузерах (IE, FF, Chrome, Safari, Opera и Sea Monkey):

<link rel="shortcut icon" href="http://domain.com/favicon.ico" />
0 голосов
/ 11 июля 2016

<link rel="shortcut icon" href="@Url.Content("~/favicon.ico?xyz=10001")" type="image/x-icon" />

Это решило мою проблему, хотя это взломать.

0 голосов
/ 15 сентября 2011

Вам нужно будет конвертировать изображение в формат .ico. Сохраните его в PNG или JPEG, а затем используйте этот инструмент http://www.favicon.cc/ для преобразования в формат .ico. Не достаточно просто сохранить изображение с расширением .ico, вам нужно конвертировать.

...