1

更新を容易にし、異なるページ間で共有するために、別のフォルダーに配置したjsファイルがいくつかあります。これらのファイルは別のページから呼び出され、私は

<script type="text/javascript" src="/js/file.js"></script>

表記。

これは正常に機能しますが、これらのjsファイルのいずれかで何かを変更すると、ブラウザー(chrome、firefox、safari)は変更なしで以前のバージョンをロードするため、使用するjsファイルを更新されたものに更新しません。キャッシュをクリーンアップして、(変更を加えて)jsファイルを再度ロードするように強制しようとしましたが、役に立ちませんでした。

私が持っている唯一の回避策は、外部ファイルの名前をfile2.jsに変更し、それを呼び出すページに含めることですが、別の変更を行う場合は名前をfile3.jsなどに変更する必要があるため、面倒なプロセスです。

ブラウザに元のjsをリロードさせ、以前に保存されたjsを使用しないようにする方法はありますか>

4

3 に答える 3

7

URLに一意のものを追加することで、強制的に更新できます。

以下のコードでは、リクエストごとに文字列「d6aa97d33d459ea3670056e737c99a3d」を生成する必要があります。タイムスタンプ、ハッシュ、乱数など、好きなものを使用できます。このため、ブラウザはキャッシュにあるものを再利用せず、常にJSファイルをダウンロードします。

<script type="text/javascript" src="/js/file.js?d6aa97d33d459ea3670056e737c99a3d"></script>
于 2013-01-16T10:15:02.107 に答える
0

クエリ文字列に乱数を追加するという古典的な手法を試すことができます。

<script type="text/javascript" src="/js/file.js?r=123"></script>

これにより、別のファイル名を使用するのと同じことが実現します(ブラウザーに関する限り、これは別のURLです)が、ファイルの名前を変更する必要はありません。

于 2013-01-16T10:14:42.337 に答える
0

これを使用してください:

<script type="text/javascript" src="/js/file.js?1"></script>

?1ファイル名の後を参照してください。

于 2013-01-16T10:17:20.820 に答える