Firefoxでキャッシュをオフにする方法は?


143

開発中は、最新バージョンのJavaScriptファイルを使用するために、Firefoxで常に「キャッシュをクリア」する必要があります。

JavaScriptファイルのキャッシュを完全にオフにする設定(about:config)はありますか?または、そうでない場合は、すべてのファイルについて?

回答:


229

Firefoxのアドレスバーに「about:config」と入力して、次のように設定します。

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

ローカルで開発している場合、またはHTML5の新しいマニフェスト属性を使用している場合は、about:configにも次のように設定する必要があります。

browser.cache.offline.enable = false

この小さな宝石についてどうして知らなかったのですか?about:configのあらゆる種類の便利な機能
ABrowne 2015年

2
network.http.use-cacheはありません。browser.cache.offline.enableを変更しても、違いはありません。
Curtis

1
これが良い答えであることは間違いありませんが、最新のfirefoxビルドでは正しくないようです(現在、開発者版47.0a2を使用しています)。Web開発者の設定でキャッシュを無効にすることは、私にとっても効果的です。
JosephStyons 2016

61

Web Developerのツールバーに、あなたがそれを必要とするときオフにそれをオンにすることが非常に容易になりますキャッシュを無効にするオプションがあります。


1
CTRL-F5を押すか、Shiftキーを押しながら[再読み込み]ボタンをクリックすることは、これまで行ってきた方法ですが、Web開発者ツールバーの「キャッシュを無効にする」機能は、そのための優れた方法です。そのようにして、Firefoxのキャッシュを完全に無効にする必要はありません。
Jon Onstott、2010年

1
ただし、テスト後にキャッシュを有効にすることを忘れないでください。;)
ニューロラボ、2011年

1
@Shanimal、それは14.0.1で私のために動作します。
Lucas

@ルーカスドー!使用していたサーバー上のアイテムはキャッシュされていましたが、コメントを削除するのを忘れていました...ありがとう。
Shanimal 2012

1
chrispederickが最新バージョンでいくつかの新しいFirefoxの変更を修正するまで、これは機能しません。私は、開発者にとってより良いabout:configソリューションを採用します。
Ligemer、2013

12

あなたが使用しようとしましたCTRL- F5ページを更新しますか?


6
少なくともiframeとフレームセットが存在する場合、これが確実に機能することを本当に疑っています。
Thilo

2
正解です。JS/ CSSが常にiframeにリロードされるわけではありませんが、Firefoxでは少なくともそのフレームを新しいタブにポップアウトして、そこでリロードできます。
scunliffe 2008年

私はいつもCtrl-F5を使用しました...私が作業していたjsファイルの最新バージョンをロードできないことがわかりました:( iframeにもありました(iframeは悪魔であり、私の選択ではありません) )
Gromer

Ctrl-F5はJavaScriptファイルのキャッシュをリセットしません。(主に)セッションとCookieをクリアしますが、キャッシュされたJavaScriptとスタイルシートはクリアしません
AceMark

10

JavaScriptに対してのみキャッシュを無効にする特定のオプションはありません。キャッシュを完全に無効にする必要があります。

FireBugには、[ネットワーク]タブのドロップダウンメニューでブラウザキャッシュを無効にするオプションがあります。


8

キャッシュを無効にしたい同じページでこれを行います:参考までに:作業しているバージョンは30.0です

あなたはできる :

webdeveloperツールバーを開く オープンウェブ開発者

キャッシュを無効にするを選択します

その後、それ自体からページを再読み込みします(あなたはオンです)すべてのものが再キャッシュされ、すべてのfurthureリクエストも毎回再キャッシュされます。また、常に確認するためにWeb開発者を常に開いたままにしておくことができます(チェック) 。


8

Firefox 48開発者ツール

ツールボックスが開いているときにのみキャッシュをオフにできます。これはWeb開発に最適です。

  • F12
  • 右上隅のギアボックス
  • 上にスクロールして詳細設定
  • 「キャッシュを無効にする(ツールボックスが開いている場合)」にチェックを入れます

ここに画像の説明を入力してください

https://stackoverflow.com/a/27397425/895245にも同様のコンテンツがありますが、位置付けが少し変更されています。


1
おかげで... network.http.use-cacheをfalseに設定することについての情報があります(そしてこのスレッドにあります)...しかし、私のバージョンのFF(53)では、その設定はもう存在しません...この手法ははるかに優れていますとにかく。
マイクげっ歯類2017年

7

サーバー側のコードで作業している場合は、乱数を生成し、次の方法でsrcの最後に追加することができます。

src = "yourJavascriptFile.js?randomNumber = 434534"

randomNumberは毎回ランダムに生成されます。


これは、更新するたびにブラウザーのキャッシュを手動でクリアする以外に機能した唯一のソリューションです。
Curtis

4

私は古代の質問を復活させていることを知っていますが、私はこの問題を今日解決し、代替の解決策を模索していました。テストしたいときにキャッシングを切り替えることは、私には実際には受け入れられませんでした。他の人が述べたように、ハードリフレッシュ(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が常に取得されることが保証されます。さらに、それは私の残りのブラウジングに影響を与えません、そしてそれはまたすべてのブラウザで機能するので、クロム/ 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

これにより、クライアントのブラウザは、新しいクエリ文字列が表示されたときにローカルキャッシュを強制的に更新しますが、ファイルが再度更新されるまで新しいコピーをキャッシュします。


3

最善の戦略は、JSファイルへの一意のURLを構築するようにサイトを設計することです。これは、変更があるたびにリセットされます。これにより、変更がなかった場合はキャッシュされますが、変更が発生した場合は即座にリロードされます。

特定の環境ツールに合わせて調整する必要がありますが、PHP / Apacheを使用している場合は、ここに、あなたとエンドユーザーの両方にとって素晴らしいソリューションがあります。

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


3

使用できますCTRL-F5をして、キャッシュをバイパスしてリロード。

キャッシュを使用しないようにFirefoxの設定を行うことができます

network.http.use-cache = false

jsファイルのno-cache / Expires / Cache-Controlヘッダーを送信するようにWebサーバーを設定できます。

以下は、Apache Webサーバーのです。


そのshift-f5またはctrl-f5ですか?
Thilo

3

FireBugを使用する場合、[ネットワーク]タブのドロップダウンメニューに、ブラウザのキャッシュを無効にするオプションがあります。

ここに画像の説明を入力してください


Firebugは廃止されました。
K7AAY

1

投稿された最後の2つのソリューションには長所と短所がありますが、どちらもIMHOの優れたソリューションです。

  1. セキュリティを強化するために、このようなURLにセッションIDを埋め込む必要がある場合とそうでない場合があります。しかし、開発ではそれは重要ではありませんが、それを削除するのを忘れた場合はどうなりますか?それは本当にうまくいくのですか?連番ジェネレータ(セッションに保存されているヒットカウント、または1の場合は0、0の場合は1)のようなものが必要ではないでしょうか。

  2. セッションID(または任意のシーケンサー)を追加することは、キャッシュしないすべてのリソースにセッションIDを追加することを忘れないようにする必要があることを意味します。一方で、アクティブに開発およびテストしているリソースだけにセッションIDを含めることができるので、これはより良い方法です。一方、それはあなたがそれをしなければならず、あなたは生産のためにそれを削除することを忘れてはならないことを意味します。

  3. vhost.confまたは.htaccessファイルを変更すると、セッションIDを追加したり削除したりする必要がないため、うまくトリックを実行できます。しかし、マイナス面は、すべてのjsおよびcssリソースのパフォーマンスが影響を受けることです。大きなファイルがある場合、速度が低下します。

どちらも素晴らしいエレガントなソリューションのように見えます-ニーズ次第です。


1

私が使うCTRL- SHIFT- DELETEあなたのキャッシュをクリアすることができ、プライバシー機能を活性化する、リセットクッキーなど、すべてを一度に。確認を求めるダイアログボックスをポップアップするのではなく、実行するように構成することもできます。


1

NightlyのようなFirefoxのより高いバージョンでは、「キャッシュを無効にする」というオプションがあります。歯車をクリックして見つけることができます。そして、そのオプションは現在のセッションでのみ機能します。つまり、インスペクターを閉じて再起動するときに、キャッチを無効にする場合は再度チェックする必要があります。


キャッシュをグローバルに無効にする方法があったらいいのにと思います。インスペクターを開くたびにチェックしなくてはならないのはとても面倒です。
カルロスガルシア

0

さまざまな方法で2時間ブラウジングした後、これは私にとってはうまくいきました。

私の要件は、私のスプリングで保護されたWebアプリケーションでjsおよびcssファイルのキャッシュを無効にすることでした。しかし同時に、これらのファイルを特定のセッションの「内部」にキャッシュします。

すべてのリクエストで一意のIDを渡すことは、推奨されるアプローチの1つです。

そしてこれは私がやったことです:-の代わりに

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

使った

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

上記のアプローチに対するどんな短所も歓迎します。セキュリティ上の問題 ?


0

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に設定するのと同じ効果があります)


0

まず、これは簡単に行うことができます。たとえば、PHPにより、ブラウザにキャッシュ日付(有効期限)に基づいてファイルを強制的に更新させることができます。実験的な必要性だけで必要な場合は、ctrl + shift + delを使用して、Firefoxブラウザー内で一度にすべてのキャッシュをクリアしてください。3番目の解決策は、Firefoxに存在する多くのアドオンを使用して、タイムラインに基づいてキャッシュをクリアすることです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.