そのため、Internet Explorerのインターネットオプションに移動すると:
Google Chromeで同様のことができますか?現在、JavaScriptファイルを変更してVisual Studioからデバッグすると、Chromeは変更されたバージョンを使用するのではなく、常にキャッシュバージョンを使用します。現在のバージョンを使用できるようにするには、一時的なインターネットファイル/キャッシュを手動でクリアする必要がありますが、これは本当に面倒です。
そのため、Internet Explorerのインターネットオプションに移動すると:
Google Chromeで同様のことができますか?現在、JavaScriptファイルを変更してVisual Studioからデバッグすると、Chromeは変更されたバージョンを使用するのではなく、常にキャッシュバージョンを使用します。現在のバージョンを使用できるようにするには、一時的なインターネットファイル/キャッシュを手動でクリアする必要がありますが、これは本当に面倒です。
回答:
オプション1:キャッシュを一時的に無効にする
オプション2:セッションのキャッシュを無効にする
--disk-cache-size=1 --media-cache-size=1
キャッシュを1バイトに制限するコマンドラインスイッチでChromeを起動し、キャッシュを事実上無効にします。
オプション3:手動強制更新
キャッシュされたコンテンツを無視して、現在のページをリロードします: Shift+ F5または Ctrl+ Shift+r
Chromeキーボードショートカット-Chromeヘルプ(「ウェブページのショートカット」の下)
オプション4:追加の再読み込みオプション(ソース)
開発者ツールを開いた状態で、[再読み込み]ボタンを右クリックして、次の内容を含む再読み込みメニューを表示します。
クロムの更新に100%関連するわけではありませんが、さらなる開発のためです。@Domが言ったように、リソースの後に?v =#を追加できます。プロセスを自動化する1つの方法は、上記のファイルのコンテンツをハッシュし、それをバージョンとして使用することです。
これが役立つ場合は、C#(実装用のRazor)でこれを行う方法に関するスニペットコードがあります。
ヘルパー:
public static string HashUrl(string relativeUrl)
{
var server = HttpContext.Current.Server;
if (File.Exists(server.MapPath(relativeUrl)))
{
byte[] hashData;
using (var md5 = MD5.Create())
using (var stream = File.OpenRead(server.MapPath(relativeUrl)))
hashData = md5.ComputeHash(stream);
return relativeUrl.Replace("~", "") + "?v=" + BitConverter.ToString(hashData).Replace("-", "");
}
return relativeUrl + "?v=notFound";
}
実装:
<link rel="stylesheet" href=@Util.HashUrl("~/Controllers/Home/Views/Index.css") />
お役に立てれば
編集---一部のビルドランタイムを要求し、1000個の小さなリソースの場合、約11ミリ秒かかります。
https://en.code-bude.net/wp-content/uploads/2013/08/md5_performance_benchmark_2.png
アクセスできないエンドユーザーのコンピューターを強制的に更新したい場合など、これらが不可能な場合は、ブラウザーに識別させるクエリパラメーターとしてスクリプト名にバージョン番号を追加できます。別のファイルとして。すなわち。example.js?v=1
。強制的にリロードするたびに数値を変更する必要があることに留意してください。
ローカル開発でもこれを行うことができますが、開発ツールの方法ははるかに効率的です。
サイトを開発している場合、サーバー上でファイルが変更されたときに適切にファイルを再取得するには、Chromeでmust-revalidate
設定が必要であることを知っておく必要がCache-Control
あります。
他の回答では、SHIFT-F5を押して独自のバージョンのChromeですべてのファイルを再取得する方法を説明しています。しかし、サイトが変更されるたびにこれを行うようにサイトのすべてのユーザーに伝えるのは合理的ですか?Cache-Control
含めるように設定すると、must-revalidate
Chromeはファイルが変更されたかどうかを確認し、必要に応じて適切にダウンロードします。
このブログ投稿の詳細を参照してください:https : //agiletribe.wordpress.com/2018/01/29/caching-for-chrome/