Очистить кэшированный JavaScript включает в Firefox - PullRequest
23 голосов
/ 12 января 2011

Я работаю над JavaScript для сайта, разрабатываю с Firefox, и когда я обновляю страницу, я не вижу своих изменений. Файл JavaScript находится во внешнем файле. Я перезагружал и обновлял страницу несколько раз, но старый файл JavaScript все еще оставался в кэше. Наконец, я загрузил страницу JavaScript прямо в браузер, увидел старый скрипт, нажал «перезагрузить» и увидел мои изменения.

Как очистить кэшированные внешние файлы JavaScript? Мне нужно будет это знать также, когда я сообщу клиенту, что внесены изменения, чтобы они не видели старые кэшированные функции.

Ответы [ 6 ]

14 голосов
/ 12 января 2011

В Firefox вы можете установить плагин Панель инструментов веб-разработчика , который имеет команду appcache clear

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

<script type="text/javascript" src='js/my.js?x=<?php echo rand(0,100) ?>'></script>
13 голосов
/ 12 января 2011
  • Надстройка для панели инструментов веб-разработчика *1003* позволяет отключить кэширование.
  • Firebug также делает это. Он находится в меню панели Net и называется Отключить кэш браузера .

Чтобы обойти кэш на один раз в Firefox:

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

9 голосов
/ 12 января 2011

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

То, что вы можете сделать, это организовать загрузку ваших сценариев с URL-адресов, которые различаются в зависимости от номера версии (или чего-либо еще):

<script src='http://your.site.com/js/big_script.js?version=2'></script>

Теперь, когда вы обновляете код, вы обновляете страницы, которые его используют:

<script src='http://your.site.com/js/big_script.js?version=3'></script>

Это другой URL, и он не будет в кеше.

7 голосов
/ 12 января 2011

Очень популярным методом является использование параметра строки запроса. Может выглядеть как

<script src="http://www.somedomain.com/foobar.js?v=1></script>

Если вы измените эту строку на v=2, браузер перезагрузит скрипт, если он был кэширован ранее.

1 голос
/ 12 января 2011

Shift-reload часто более агрессивно очищает кэши. Однако вы действительно не хотите на это полагаться. Хорошей техникой является создание версий имен файлов вашего внешнего Javascript и обновление HTML-кода, который ссылается на них, когда вы используете rev. Таким образом, вы также можете положиться на кэширование (например, установив заголовки кэша на «public» в вашем веб-сервере, а также указав длительное время Expires).

0 голосов
/ 08 ноября 2018

Отключить js-кеши: Инструменты разработчика (F12)> Сеть> Отключить кэш

Затем обновить страницу: F5

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...