Как мне принудительно обновить фавикон?

Если вы хотите получить все ключи, ECMAScript 5 представил Object.keys . Это поддерживается только более новыми браузерами, но MDC-документация предоставляет альтернативную реализацию (которая также использует for...in btw):

if(!Object.keys) Object.keys = function(o){
     if (o !== Object(o))
          throw new TypeError('Object.keys called on non-object');
     var ret=[],p;
     for(p in o) if(Object.prototype.hasOwnProperty.call(o,p)) ret.push(p);
     return ret;
}

Конечно, если вы хотите оба, ключ и значение, тогда for...in является единственным разумным решением.

1470
задан Nic3500 3 September 2018 в 01:39
поделиться

6 ответов

Ну, накладные расходы накладные, но да, не слишком большие.

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

Мое дешевое решение:

  1. Посетите ваш файл по адресу http://example.com/favicon.ico в вашем браузере.
  2. Удалите favicon.ico из корневого веб-сайта.
  3. Снова посетите http://example.com/favicon.ico в браузере и убедитесь, что он отсутствует.
  4. Загрузите новый в корневой каталог.
  5. Снова посетите http://example.com/favicon.ico в браузере и убедитесь, что это новый.

Если эта последовательность не работает, значит, происходит что-то еще.

17
ответ дан 22 November 2019 в 20:15
поделиться

Скорее всего, проблема в веб-браузере. Вам нужно будет удалить кеш в браузере, закрыть браузер и снова открыть его. Это должно исправить.

Я не верю, что ваши избранные значки будут обновлены в избранном до тех пор, пока вы не посетите эту страницу повторно и не очистите кеш браузера.

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

9
ответ дан 22 November 2019 в 20:15
поделиться

В зависимости от браузера они обрабатываются по-разному, но обычно я обнаруживаю, что это происходит при переходе на страницу сайта по умолчанию и выполнении жесткого обновления. CTRL + F5 , как правило, заставляет его обновить.

15
ответ дан 22 November 2019 в 20:15
поделиться

Переименуйте файл значка и добавьте заголовок html с новым именем, например:

<link rel="SHORTCUT ICON" href="http://www.yoursite.com/favicon2.ico" />
56
ответ дан 22 November 2019 в 20:15
поделиться

Когда вы запрашиваете значок у Google, вы можете взглянуть на заголовки ответа .

Last-Modified: Fri, 09 Jan 2009 16:35:02 GMT
Date: Thu, 01 Dec 2010 00:00:01 GMT
Expires: Fri, 01 Dec 2011 00:00:01 GMT
Cache-Control: public, max-age=31536000
Age: 7

Если вы поместите в ответ заголовок «Истекает:», клиентские браузеры повторно запросят значок после этой отметки времени. При активной разработке вы можете установить метку времени истечения на одну или две секунды в будущем и всегда получать ее, хотя это плохой долгосрочный план.

6
ответ дан 22 November 2019 в 20:15
поделиться

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

http://www.example.com/images/favicon.ico

А не:

images/favicon.ico
0
ответ дан 22 November 2019 в 20:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: