favicon не отображается в Firefox


Я DO знаю, что этот вопрос был задан по крайней мере тысячу раз на этом веб-сайте, но я прочитал многие из этих тем, я считаю себя очень знающим и редко когда-либо спрашиваю что-либо, вместо этого предпочитаю делать свои собственные исследования.

однако этот вопрос настолько странный, без надежды на реальное просветление (поскольку этот вопрос обсуждался так часто, и все же я не мог извлечь выгоду из чтения там), вот мой вопрос:

фавикон.ico существует, и (локально размещенный сайт разработки)http://website/favicon.ico отображает правильный значок. Его размер составляет всего 198 байт, поэтому ограничение размера, которое я нашел в Firefox about:config 1024 байт, соблюдается. По данным мудрости на фавиконку на веб-браузер должен задать для фавиконок по себе, когда нет ничего в этой страницы. Однако мой журнал apache ясно показывает, что Firefox (9.01) даже не просит об этом.

далее: когда я добавить

<link rel="shortcut icon" href="/favicon.ico">

Я все еще не понимаю фавикон.

далее: когда я вместо этого использую

<link rel="shortcut icon" href="/favicon.ico?">

(обратите внимание на завершающий "?") Я вдруг DO сделать фавикон. Но это не может быть проблемой кэша! Во-первых, я очистил кэш, во-вторых, как я уже упоминал выше, я уже успешно загрузил файл значка в Firefox через его URL http://website/favicon.ico

Я не могу объяснить это поведение в Firefox. Хром показывает правильный фавикон, кстати.

это моя страница глава:

<!doctype html>
<html>
<head>
    <meta charset="utf-8">
    <link rel="shortcut icon" href="/favicon.ico?" />
</head>
...

как только я добавлю хотя бы "?"после "Ико" работает.

вот что сервер отправляет при запросе значка, так как некоторые просили об этом. я понятия не имею, почему это было бы полезно, Так как a) я сказал, что мой Кэш был пуст для каждого теста (проверено с помощью about:cache too), и b) я сказал, что сервер никогда даже не запрашивал файл, когда он не появляется. Firefox просто не спрашивает без "?- ...с пустым тайником! Запрос появляется в журнале apache только тогда, когда я использую приложение "?".

Date    Fri, 23 Dec 2011 12:53:22 GMT
Server  Apache/2.2.20 (Ubuntu)
Last-Modified   Fri, 23 Dec 2011 12:02:49 GMT
Etag    "12c07fe-c6-4b4c132190e30"
Accept-Ranges   bytes
Content-Length  198
Content-Type    image/x-icon
5   73  

5 ответов:

во-первых, убедитесь, что у вас нет "нормальной" проблемы с кэшем при загрузке URL-адрес значка напрямую (положить его в адресной строке) и освежая ее. Если это делает работу, нет необходимости в сложном решении ниже.



важно:

моя исходная проблема не может быть проблемой кэша: Во-Первых, Я сделал очистить кэш, во-вторых, как я уже упоминал выше, Я уже успешно загрузил файл значка в Firefox через его URL http://website/favicon.ico

Я do (did) получить правильный значок в браузере при загрузке напрямую! Но у меня все еще есть (был) неправильный значок, отображаемый как "favicon". Загрузка файла значка напрямую is (или was) независимая дисплея в фактическом местоположении favicon (за исключением того, когда он загружается в первый раз, конечно).

, если вы только есть проблема с кешем и принудительное обновление работает для Вас, чем этот вопрос / проблема не ваша! И ваш ответ не является ответом для этот вопрос.

люди не должны игнорировать факты. Когда вас бомбардируют множеством уже ответивших и / или бесполезных вопросов, качество вопроса страдает на данный момент и для архива тоже. удивительно, как мне приходится бороться с людьми, которые все еще настаивают на том, что силовое обновление - это отвечай!



Примечание: вы можете полностью избежать этой проблемы, используя URL-адрес cache-buster, как и StackOverflow, их URL-адрес favicon заканчивается .../img/favicon.ico?v=4f32ecc8f43d.

если обычные меры очистки кэша не удается (так же, как они сделали для меня) ответ дается здесь: " Очистка Всех Фавиконов Из Кэша Firefox 3 [How-To]" - и вот archive.org версия ссылки (вероятно, медленнее, но она не пойдет прочь).

шаги с этой страницы воспроизводится здесь:

  1. установить Firefox add-on SQLite Manager
  2. запустите его из Tools - > SQLite Manager
  3. нажмите на пункт меню " база данных "(вверху слева) и выберите" Подключить базу данных", введите %APPDATA%\Mozilla\Firefox
  4. открыть Profiles папка и перейдите в профиль, который вы используете
  5. выберите places.sqlite как файл базы данных для редактирования (Firefox 61 и более поздние версии: favicons.sqlite)
  6. выбрать moz_favicons таблица. Из контекстного меню правой кнопкой мыши используйте "пустая таблица",не используйте "Drop table" (таблица должна быть там)или используйте контекстное меню правой кнопкой мыши над данными и выберите "Удалить" только над одной записью, которую вы хотите удалить (см. скриншот ниже)

screenshot deleting an entry using SQLite manager

Я начал подозревать, что Firefox кэширует фавиконы отдельно от всего остального-это было единственное объяснение, соответствующее наблюдаемому поведению. Поэтому я погуглил и нашел по ссылке выше. Затем я попытаюсь очистить этот конкретный дополнительный кэш и посмотреть, что произойдет.

ОБНОВЛЕНИЕ - РЕШЕНО: после удаления кэша favicon с помощью дополнения Firefox" SQLite Manager " все работает как надо.

таким образом, секретом был дополнительный (sqlite) кэш для FAVICONS в Firefox, который не очищается обычным " Clear Cache" команда.

обновление марта 2017: я проверил это дополнение Firefox, а также автономное приложение, предложенное в этом ответе ниже и оба делают свою работу. Надстройка SQLite Manager была в последний раз обновлена ~2 года назад в соответствии с ее страница проекта Github, но он по-прежнему делает то, что нужно в этом контексте. Есть обновления, доступные от люди, которые разветвили проект, но это только в сторону.

вот как это сделать, не теряя все фавиконы

  1. получить инструмент, который может открыть файл SQLite, я использую браузер БД для SQLite

  2. на about:profiles в вашем браузере.

  3. откройте корневую папку default profile. (см. прилагаемое изображение для подсказок) image

  4. открыть .

  5. на moz_favicons таблица

  6. отфильтруйте и удалите запись для вашего имени хоста(см. прикрепленное изображение для подсказок) image

  7. сохранить файл (см. рисунок) image

  8. посетите ваш сайт он покажет новый фавикон

давно, я знаю, но процедура очистки кэша на FF 31.0/Windows работает для меня - может быть, это новое. Options -> network -> cached web content -> clear now. Выключите FF, перезагрузите компьютер. Нет возиться с SqLite, новые загрузки favicon.

однако, есть еще одна потенциальная проблема. Сервер для сайта, на котором я пытался обновить значок, имел DocumentRoot на /var/www. Этот сайт был на foo.com/fubar, где var/www/fubar символические ссылки на них где-то еще. Другими словами, сайт находится на один уровень ниже от DocumentRoot. Это работает для Chrome, Opera и IE, но не Safari или FF:

<link rel="shortcut icon" href="/favicon.ico" >

FF ищет фавикон в /var/www, вместо /var/www/fubar. Это работает для всех 5 браузерах:

<link rel="shortcut icon" href="favicon.ico" >

столкнулся с аналогичной проблемой. Просто разбейте кэш изображения. Я использую MVC Razor View.

    var link = document.createElement('link');
    link.type = 'image/x-icon';
    link.rel = 'shortcut icon';
    link.href = "/images/[email protected]";
    var head = document.head || document.getElementsByTagName('head')[0];
    head.appendChild(link);

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

1-Щелкните правой кнопкой мыши на закладке (мой находится в меню панели инструментов) 2-Нажмите на свойства 3-Затем нажмите на кнопку Отмена (кажется, чтобы обновить некоторые скрытые кэш)

Я уверен, что нажатие ok / save будет иметь тот же эффект.