1. ホーム
  2. javascript

JavaScriptのファイルが更新されない。

2023-10-13 23:02:41

質問

外部JavaScriptファイルを持っているのですが、FireFoxでもChromeでも、閲覧データをすべてクリアしても、更新されないのです。私が思うに 何か 私は単に名前の最後に"_thedate"を追加した私のファイルのバックアップを作成したときに発生しました。その後、元の名前に戻して名前を付けて保存します。

今、私は、ファイルの名前を変更するか、本当にやりたくないのですが、PHP ページにスクリプトを追加するか、それに群がるかしない限り、何をしても古い JS を取り除くことができないようです。

誰かこれに対する解決策を知っていますか?

どのように解決するのですか?

同じファイルにリンクして、その同じファイルを編集していることは間違いないですか?

一部のブラウザでは CTRL F5 で強制的に更新します(PCの場合)。 Macの場合は Cmd Shift R

Firebugには、"Disable Browser Cache"というネットタブもあります。

しかし、ここで警告したいのは、たとえハード リフレッシュができたとしても、顧客が最新バージョンを入手していることをどうやって確認するかということです。ですから、あなたとプログラム マネージャーがハード リフレッシュできることを確認し、家に帰って来月の給料を受け取るだけではなく、確認する必要があります。もしあなたが世界をより良く変える、あるいはあなたが見つけたものより少し良い世界を残したいという仕事をしたいのなら、あなたの顧客にとってもそれが機能することを確認するためにもっと調査する必要があります(さもなければ、顧客が技術サポートに電話し、技術サポートが"クッキーを消去すれば機能します"という原稿を読むかもしれません、これは私が時々経験することです)。この記事の下にあるいくつかの方法は、顧客が最新バージョンを取得することを保証します。

2020 年に更新します。

Chrome を使用していて DevTools を開いている場合、アドレス バーの前にある更新アイコンをクリックしたままにすると、ボックスがポップアップし、"ハード再読み込み" または "Empty Cache and Hard Reload" を選択することもできます。

2017年のアップデートです。

Google Chromeのデバッガーを使う場合も同じで、デバッガーパネルの設定から、ネットワークセクションで、"キャッシュを無効にする(DevToolsが開いている間)"にチェックが入っているか確認すればOKです。

また、JavaScript ファイルをリンクする際に

<script src="my-js-file.js?v=1"></script>

または v=2 といった具合に、ファイルを確実に更新したい場合に使用します。あるいは、コンソールに移動して Date.now() を実行してタイムスタンプを取得することもできます。 1491313943549 を使用します。

<script src="my-js-file.js?t=1491313943549"></script>

いくつかのビルドツールは、あなたのために自動的にそれを行うか、またはそれを行うように設定することができ、次のようになります。

<script src="main.742a4952.js"></script>

というのは、基本的にキャッシュを破壊することになります。

注意 を使用する場合 v=2 または t=1491313943549 または main.742a4952.js を使用すれば、ユーザーは間違いなく新しいバージョンを手に入れることができるという利点もあります。