Chrome、Firefox、IEで機能するユニバーサルソリューションは、Ctrl+ Shift+ Del(Macの場合)を介してキャッシュをクリーンアップすることです。⌘</kbd>+Shift+⌫</kbd>).
Chromeソリューション#1
- 開発者ツールを開く(F12または⌘</kbd>+⌥</kbd>+i, or right-click → Inspect).
- [ネットワーク]タブを選択し、 [キャッシュを無効にする]チェックボックスをオンにします。
![Chromeでキャッシュを無効にする-[ネットワーク]タブ](https://i.stack.imgur.com/9ZGTo.png)
- ページをリロードします。
❗️注:キャッシュは、devtoolsウィンドウが開いている場合にのみ無効になります。
Chromeソリューション#2
これは、#1が使用されていない場合にのみ意味があります。
- 開発者ツールを開きます。
- 右下隅にある[設定]歯車アイコンをクリックします。
- 表示されるダイアログで、[ネットワーク]サブセクションの[キャッシュを無効にする]チェックボックスを選択します。これ以降、devtoolsウィンドウが開いているときにキャッシュはスキップされます。devtoolsウィンドウを閉じると、キャッシュは通常どおり機能します。

Chromeソリューション#3:空のキャッシュ+ハードリロード
- 開発ツールを開きます(そうしないと、次の手順のメニューが表示されません)。
- [更新]ボタンをクリックして押したまま、[キャッシュを空にする]と[ハードリロード]をドロップダウンから選択します。

javascriptコードの変更
デバッグに使用できるブラウザに依存しないソリューションは、サーバー側のコードにランダムに生成されたバージョン文字列をクエリパラメータとして追加することです。つまり、スクリプトを次のように呼び出します。
<script type="text/javascript" src="myscript.js?ver=12345"></script>
このトリックは、ver
パラメータの値が変更されたときにブラウザにスクリプトを再ロードさせます。ajaxリクエストを行う場合は"?ver=" + new Date().getTime()
、URLに追加できます。
注:本番環境ではスクリプトをキャッシュする必要がある可能性が高いため、デバッグが終了したらパラメーターを削除することを忘れないでください。ただし、新しいビルドごとに新しいタイムスタンプを生成するのが一般的な方法です。これは本番環境で使用でき、新しい展開後にクライアントが常に更新されたスクリプトを取得できるようにします。
上記のすべてのソリューションとは異なり、これは、クライアントとサーバーの間に何らかのキャッシュ(redis、memcached、varnishなど)またはCDN(akamai、cloudflare、cloudfrontなど)がある場合でも機能します。