回答:
Firefoxのアドレスバーに「about:config」と入力して、次のように設定します。
browser.cache.disk.enable = false
browser.cache.memory.enable = false
ローカルで開発している場合、またはHTML5の新しいマニフェスト属性を使用している場合は、about:configにも次のように設定する必要があります。
browser.cache.offline.enable = false
Web Developerのツールバーに、あなたがそれを必要とするときオフにそれをオンにすることが非常に容易になりますキャッシュを無効にするオプションがあります。
あなたが使用しようとしましたCTRL- F5ページを更新しますか?
Firefox 48開発者ツール
ツールボックスが開いているときにのみキャッシュをオフにできます。これはWeb開発に最適です。
https://stackoverflow.com/a/27397425/895245にも同様のコンテンツがありますが、位置付けが少し変更されています。
サーバー側のコードで作業している場合は、乱数を生成し、次の方法でsrcの最後に追加することができます。
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が常に取得されることが保証されます。さらに、それは私の残りのブラウジングに影響を与えません、そしてそれはまたすべてのブラウザで機能するので、クロム/ 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
これにより、クライアントのブラウザは、新しいクエリ文字列が表示されたときにローカルキャッシュを強制的に更新しますが、ファイルが再度更新されるまで新しいコピーをキャッシュします。
最善の戦略は、JSファイルへの一意のURLを構築するようにサイトを設計することです。これは、変更があるたびにリセットされます。これにより、変更がなかった場合はキャッシュされますが、変更が発生した場合は即座にリロードされます。
特定の環境ツールに合わせて調整する必要がありますが、PHP / Apacheを使用している場合は、ここに、あなたとエンドユーザーの両方にとって素晴らしいソリューションがあります。
http://verens.com/archives/2008/04/09/javascript-cache-problem-solved/
投稿された最後の2つのソリューションには長所と短所がありますが、どちらもIMHOの優れたソリューションです。
セキュリティを強化するために、このようなURLにセッションIDを埋め込む必要がある場合とそうでない場合があります。しかし、開発ではそれは重要ではありませんが、それを削除するのを忘れた場合はどうなりますか?それは本当にうまくいくのですか?連番ジェネレータ(セッションに保存されているヒットカウント、または1の場合は0、0の場合は1)のようなものが必要ではないでしょうか。
セッションID(または任意のシーケンサー)を追加することは、キャッシュしないすべてのリソースにセッションIDを追加することを忘れないようにする必要があることを意味します。一方で、アクティブに開発およびテストしているリソースだけにセッションIDを含めることができるので、これはより良い方法です。一方、それはあなたがそれをしなければならず、あなたは生産のためにそれを削除することを忘れてはならないことを意味します。
vhost.confまたは.htaccessファイルを変更すると、セッションIDを追加したり削除したりする必要がないため、うまくトリックを実行できます。しかし、マイナス面は、すべてのjsおよびcssリソースのパフォーマンスが影響を受けることです。大きなファイルがある場合、速度が低下します。
どちらも素晴らしいエレガントなソリューションのように見えます-ニーズ次第です。
私が使うCTRL- SHIFT- DELETEあなたのキャッシュをクリアすることができ、プライバシー機能を活性化する、リセットクッキーなど、すべてを一度に。確認を求めるダイアログボックスをポップアップするのではなく、実行するように構成することもできます。
NightlyのようなFirefoxのより高いバージョンでは、「キャッシュを無効にする」というオプションがあります。歯車をクリックして見つけることができます。そして、そのオプションは現在のセッションでのみ機能します。つまり、インスペクターを閉じて再起動するときに、キャッチを無効にする場合は再度チェックする必要があります。
さまざまな方法で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>
上記のアプローチに対するどんな短所も歓迎します。セキュリティ上の問題 ?
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に設定するのと同じ効果があります)