Firefox не сразу отражает новые изменения на сайте, а Chrome?

0

Я заметил, что Firefox не сразу отражает любые изменения дизайна (HTML/CSS/изображения) на веб-сайте. Он должен быть обновлен, по крайней мере, один раз, чтобы увидеть изменения. Таким образом, в основном, когда пользователь приходит на сайт, он/она увидит перепутанную страницу и должен обновить ее один раз, чтобы увидеть новый дизайн. У Chrome нет этой проблемы. Как я могу исправить это, используя HTML/JavaScript или библиотеку JavaScript?

Мой текущий метакод в HTML

<HEAD>
<META http-equiv="Cache-Control" content="no-cache">
<META http-equiv="Pragma" content="no-cache">
<META http-equiv="Expires" content="0">
.....
  • 0
    Какую версию Firefox и какую платформу вы используете?
  • 3
    Простым способом было бы изменить ваш HTML и добавить случайные параметры в URL CSS и изображения, чтобы обмануть Firefox, думая, что это разные ресурсы, которые должны быть загружены снова. Существует много методов очистки кэша, но помните, что вы не можете дать команду браузеру удалить его кеш.
Показать ещё 5 комментариев
Теги:
firefox
cross-browser
browser-cache

2 ответа

0

Я обнаружил, что следующая статья будет очень полезна для предотвращения кэширования страниц для всех типов браузеров:

Убедитесь, что веб-страница не кэширована, во всех браузерах

В дополнение к метатегам я использую штамп даты или уникальный код, например:

<link rel="stylesheet" href="css/styles.css?version=140830" media="screen"/>

(Кстати, у меня была противоположная проблема - работала в Firefox, но не в Chrome).

0

Простым методом для работы с кэшированными ресурсами является добавление случайного параметра в конец URL-адреса для этого ресурса в вашем HTML.

Примером может служить:

<img src='mygif.gif'/> <!-- this is cached -->

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

<img src='mygif.gif?version=1.1'/> 
<!-- this is not cached as it appears to be a different file -->

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

Было бы неплохо иметь некоторое соответствие вашим случайным параметрам для удобства обслуживания, поэтому я обычно использую что-то вроде ?version=1, поэтому, если вам нужно сделать это снова, вы можете просто заменить строку на свой проект и увеличить номер версии.

Еще одно хорошее объяснение этой методики можно найти здесь: Отключить кеш для некоторых изображений

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню