Подтвердить что ты не робот

Открытый кешированный JavaScript включает в себя Firefox

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

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

4b9b3361

Ответ 1

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

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

<script type="text/javascript" src='js/my.js?x=<?php echo rand(0,100) ?>'></script>

Ответ 2

Обход кеша один раз в Firefox:

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

Ответ 3

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

Что вы можете сделать, это упорядочить загрузку ваших скриптов из 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-адрес, и он не будет в кеше.

Ответ 4

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

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

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

Ответ 5

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