Ответы:
Введите about: config в адресную строку Firefox и установите:
browser.cache.disk.enable = false
browser.cache.memory.enable = false
Если вы разрабатываете локально или используете новый атрибут манифеста HTML5, вам, возможно, придется установить следующее в about: config -
browser.cache.offline.enable = false
Web Developer Toolbar имеет возможность отключить кэширование , что делает его очень легко включить и выключить , когда вам это нужно.
Вы пытались использовать CTRL- F5чтобы обновить страницу?
На той же странице вы хотите отключить кеширование: FYI: версия, над которой я работаю - 30.0
Ты можешь :
После этого он будет перезагружать страницу со своей собственной (вы находитесь), и каждая вещь будет повторяться, и каждый дополнительный запрос будет повторяться каждый раз, и вы можете держать веб-разработчика всегда открытым, чтобы следить и всегда держать его включенным (проверить) ,
Инструменты разработчика Firefox 48
Позволяет отключать кеш только при открытой панели инструментов, что идеально подходит для веб-разработки:
https://stackoverflow.com/a/27397425/895245 имеет похожий контент, но с тех пор позиционирование немного изменилось.
Если вы работаете с кодом на стороне сервера, вы можете сгенерировать случайное число и добавить его в конец кода следующим образом ...
SRC = "yourJavascriptFile.js? randomNumber = 434534"
с randomNumber генерируется случайным образом каждый раз.
Я знаю, что воскрешаю древний вопрос, но сегодня я пытался решить эту проблему и найти альтернативное решение. Переключение кеширования, когда я хочу протестировать, было не совсем приемлемо для меня, и, как уже упоминалось, жесткое обновление (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 при каждом обновлении, т.е.
jquery.somefile.js?v=0.5
Это заставляет браузеры моих клиентов обновлять свой локальный кеш, когда они видят новую строку запроса, но затем кэширует новую копию, пока файл не обновится снова
Лучшая стратегия состоит в том, чтобы спроектировать ваш сайт так, чтобы он создавал уникальный URL-адрес для ваших файлов JS, который сбрасывается при каждом изменении. Таким образом, он кэшируется, когда не было никаких изменений, но немедленно перезагружается, когда происходит любое изменение.
Вам нужно будет приспособиться к конкретным инструментам среды, но если вы используете PHP / Apache, это отличное решение как для вас, так и для конечных пользователей.
http://verens.com/archives/2008/04/09/javascript-cache-problem-solved/
Вы можете использовать CTRL- F5для перезагрузки в обход кеша.
Вы можете установить настройки в Firefox, чтобы не использовать кеш
network.http.use-cache = false
Вы можете настроить свой веб-сервер так, чтобы он отправлял заголовки no-cache / Expires / Cache-Control для файлов js.
Вот пример веб-сервера Apache.
У последних двух опубликованных решений есть свои плюсы и минусы, но оба они ИМХО отличные решения.
Вы можете или не хотите, чтобы ваш идентификатор сеанса был встроен в ваш URL-адрес, чтобы повысить безопасность. Но в разработке это не должно иметь значения, но что, если вы забудете удалить его? И это действительно работает? Разве вам не нужно что-то вроде генератора последовательных чисел (счетчик совпадений, сохраненный в сеансе, или, может быть, даже просто если 1, то 0, если 0, то 1)?
Добавление идентификатора сеанса (или любого другого секвенсора) означает, что вам нужно помнить, чтобы добавлять его в каждый ресурс, который вы не хотите кэшировать. С одной стороны, это лучше, потому что вы можете просто включить свой идентификатор сессии только с тем ресурсом, который вы активно разрабатываете и тестируете. С другой стороны, это означает, что вы должны сделать это, и вы должны помнить, чтобы удалить это для производства.
Модификация файла vhost.conf или .htaccess делает свое дело без необходимости добавлять и удалять идентификатор сеанса. Но недостатком является то, что это повлияет на производительность всех ресурсов js и css, и если у вас большие файлы, это замедлит вас.
И то, и другое кажется отличным элегантным решением - зависит от ваших потребностей.
Я использую CTRL- SHIFT- DELETEкоторый активирует функцию конфиденциальности, позволяя вам очистить кэш, сбросить куки и т. Д., Все сразу. Вы даже можете настроить его так, чтобы он просто ДЕЛАЛ его, вместо того, чтобы открывать диалоговое окно с просьбой подтвердить.
В более поздних версиях Firefox, таких как Nightly, есть опция, называемая «отключить кеш», которую вы можете найти, нажав на кнопку. И эти параметры работают только в текущем сеансе, что означает, что когда вы закрываете инспектор и перезапускаете его, вы должны проверить его еще раз, если хотите, чтобы перехват отключен.
После 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 параметры дискового кэша можно установить, изменив значение: browser.cache.disk.enable
Значение можно установить на странице about: config.
На http://kb.mozillazine.org/About:config_entries#Browser я нашел следующее описание для "browser.cache.disk.enable":
True (по умолчанию): использовать дисковый кеш, вплоть до емкости, указанной в browser.cache.disk.capacity. False: отключить дисковый кеш (тот же эффект, что и для browser.cache.disk.capacity равным 0).
Прежде всего, это может быть легко сделано, например, с помощью PHP, чтобы заставить браузер обновлять файлы, основываясь на дате кэша (времени истечения). Если вам это просто нужно для экспериментов, попробуйте использовать Ctrl + Shift + Del, чтобы очистить весь кэш сразу в браузере Firefox. Третье решение состоит в том, чтобы использовать множество надстроек, которые выходят из Firefox, чтобы очистить кеш на основе временных линий.