Как отключить кэширование в Firefox?

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

есть ли какая-то настройка (о:config), чтобы полностью отключить кэширование для файлов JavaScript? Или, если нет, для всех файлов?

17 ответов


введите "about:config" в адресную строку Firefox и установите:

browser.cache.disk.enable = false
browser.cache.memory.enable = false

Если вы разрабатываете локально или используете новый атрибут манифеста HTML5, вам также может потребоваться установить следующее В about: config -

browser.cache.offline.enable = false

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


вы пытались использовать CTRL -Ф5 обновить страницу?


нет конкретной опции для отключения кэширования только для JavaScript, вам придется полностью отключить кэширование.

Палий имеет возможность отключить кэш браузера в раскрывающемся меню вкладки "сеть".


на той же странице, которую вы хотите отключить кэширование этого : FYI: версия, над которой я работаю, - 30.0

вы можете :

open webdeveloper toolbaropen web developer

and pick disable cache

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


Если вы работаете с кодом на стороне сервера, вы можете создать случайное число и добавить его в конец src следующим образом....

src= " yourJavascriptFile.Яш?датчика случайных чисел=434534"

с randomNumber генерируется случайным образом каждый раз.


Firefox 48 Инструменты Разработчика

позволяет отключить кэш только тогда, когда toolbox открыт, что идеально подходит для веб-разработки:

  • F12
  • коробка передач в правом верхнем углу
  • прокрутите вниз верхние дополнительные настройки
  • проверьте " отключить кэш (когда toolbox открыт)"

enter image description here

https://stackoverflow.com/a/27397425/895245 имеет подобное содержание, но позиционирование с тех пор немного изменилось.


Я знаю, что воскрешаю древний вопрос, но я пытался решить эту проблему сегодня и иметь альтернативное решение. Переключение кэширования, когда я хочу протестировать, было для меня неприемлемым, и, как уже упоминалось, жесткое обновление (ctrl+shift+r) не всегда работает.

вместо этого я решил поместить следующее в свой vhost.conf файл (также можно сделать .htaccess) в моей среде разработки:

<FilesMatch "\.(js|css)$">
FileETag None
<IfModule mod_headers.c>
Header unset ETag
Header set Cache-Control "max-age=0, no-cache, no-store, must-revalidate"
Header set Pragma "no-cache"
Header set Expires "Wed, 11 Jan 1984 05:00:00 GMT"
</IfModule>
</FilesMatch>

в моей среде разработки это гарантирует, что js и css всегда возвращается. Кроме того, это не влияет на остальную часть моего просмотра, а также работает для всех браузеров, поэтому тестирование в chrome / ie и т. д. Также легко.

нашел фрагмент здесь, некоторые другие удобные трюки apache, а также: http://www.askapache.com/htaccess/using-http-headers-with-htaccess.html#prevent-caching-with-htaccess

чтобы убедиться, что мои клиенты всегда видят последнюю версию на производстве, мы увеличиваем строку запроса на js include on каждое обновление, т. е.

jquery.somefile.js?v=0.5

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


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

вам нужно будет настроить для ваших конкретных инструментов среды, но если вы используете PHP / Apache, вот отличное решение для вас и конечные получатели.

http://verens.com/archives/2008/04/09/javascript-cache-problem-solved/


можно использовать CTRL-Ф5 перезагрузить в обход кэша.

вы можете установить настройки в firefox, Чтобы не использовать кэш

network.http.use-cache = false

вы можете настроить веб-сервер для отправки заголовков no-cache/Expires/Cache-Control для файлов js.

здесь пример для веб-сервера Apache.


Если вы используете FireBug, в раскрывающемся меню вкладки "сеть" есть опция отключить кэш браузера.

enter image description here


есть плюсы и минусы последних двух решений, опубликованных, но они оба IMHO отличные решения.

  1. вы можете или не хотите, чтобы Ваш идентификатор сеанса был встроен в Ваш url-адрес для более жесткой безопасности. Но в разработке это не должно иметь значения, но что, если вы забудете удалить его? И это действительно работает? Разве вам не нужно что-то вроде генератора последовательных чисел (счетчик попаданий, хранящийся в сеансе, или, может быть, даже если 1, ТО 0, Если 0, то 1)?

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

  3. изменение vhost.conf или .файл htaccess делает трюк красиво без необходимости помнить, чтобы добавить и удалить идентификатор сессии. Но недостатком является производительность всех ресурсов JS и css, и если у вас есть большие файлы, это замедлит вас.

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


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


в более высоких версиях Firefox, как Nightly, есть опции с именем "отключить кэш", вы можете найти его, нажав на шестеренку. И эти параметры работают только в текущем сеансе, что означает, что когда вы закрываете инспектор и перезапускаете его, вы должны проверить его снова, если хотите отключить catch.


после 2 часов просмотра различных альтернатив это то, что сработало для меня.

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

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

и вот что я сделал :- вместо

<script language="javascript" src="js/home.js"></script>

Я

<script language="javascript" src="js/home.js?id=${pageContext.session.id}"></script>

какие минусы данный подход приветствуются. Проблемы С Безопасностью ?


в firefox 45 параметры кэша диска можно установить, изменив значение: браузер.кэш.диск.включить

значение может быть установлено на странице" about:config".

на http://kb.mozillazine.org/About:config_entries#Browser я нашел следующее описание для "браузера.кэш.диск.enable":

True (по умолчанию): используйте дисковый кэш до емкости, указанной в браузере.кэш.диск.вместимость False: отключить кэш диска (тот же эффект, что и настройка браузер.кэш.диск.емкость до 0)


прежде всего, это можно легко сделать, например, PHP, чтобы заставить браузер обновлять файлы на основе даты кэша (время истечения срока действия). Если вам просто нужно это для экспериментальных нужд, попробуйте использовать ctrl+shift+del, чтобы очистить весь кэш сразу внутри браузера Firefox. Третье решение-использовать много надстроек, которые выходят из Firefox, чтобы очистить кэш на основе временных линий.