外部JavaScriptファイルがあり、FireFoxかChromeか、すべての閲覧データが消去されたかどうか、何があっても更新されません。ファイルのバックアップを作成したときにsomethingが発生したと思います。名前の末尾に「_thedate」を追加しただけです。次に、名前を付けて保存して元の名前に戻します。
ファイルの名前を変更したり、スクリプトをPHPページに追加したりしない場合を除きます。 、混雑します。
誰もがこれに対する解決策を知っていますか?
同じファイルにリンクしていて、その同じファイルを編集していると確信していますか?
一部のブラウザでは、CTRL F5を使用して強制的に更新できます。
Firebugには「ブラウザキャッシュを無効にする」というネットタブもあります
Google Chromeデバッガーを使用する場合、それは同じです。[ネットワーク]セクションに移動し、[DevToolsが開いている間はキャッシュを無効にする]がオンになっていることを確認します。デバッガパネル。
また、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
_を使用すると、ユーザーにとって間違いなく新しいバージョンを取得できるという利点もあります。まあ。
タグに「?2」を追加してみませんか?
<script src="a.js?2"></script>
サーバーは「?2」の有無にかかわらず同じファイルを返す必要がありますが、ブラウザはそれを別のファイルと見なして再ダウンロードする必要があります。ファイルが変更されるたびに、このクエリ文字列を変更できます。
適応: http://blog.httpwatch.com/2007/12/10/two-simple-rules-for-http-caching/
この問題は以前にもありましたが、非常にイライラしますが、回避策を見つけました。 jsファイルの完全なアドレス(つまり、yourhost.com/javascript.js)を入力してロードします。おそらく、古いバージョンがロードされます。次に、f5を押してそのページを更新すると、新しいバージョンがロードされます。キャッシュ内のjsファイルが更新され、予想どおりにコードが実行されます。
私が使用するソリューションは次のとおりです。 Firefoxを使用する
1。 Web開発者を使用-> Webコンソール
2。新しいタブでJavaスクリプトファイルを開きます。
3。新しいタブが更新され、新しいコードが表示されます。
4。元のページを更新
5。変更が表示されるはずです。
Jsファイルの名前を一時的に別の名前に変更します。これは私のために働いた唯一のものです。
私はこの問題を抱えていて、Chromeでキャッシュを無効にするだけで解決しました:-F12をクリックします;-[ネットワーク]タブに移動します;-[キャッシュを無効にする]をクリックします。
Browsercachesを回避する最善の方法は、jsファイルのパスに乱数を追加することです。
擬似コードの例:
// generate a random number
int i = Random.Next();
echo "<script src='a.js?'" + i + "></script>";
これにより、ブラウザは常にファイルをリロードします。これは、URLの乱数が原因で別のファイルであると見なされるためです。
サーバーは常にファイルを返し、「?」の後に来るものを無視します。
ブラウザがスクリプトをロードしていることを100%確信していますか? Firefoxのページに移動し、Firebugのコンソールを使用して、スクリプトがロードされているかどうかを確認します。
私はしばらくの間同じ問題を抱えていて、どうにか理解することができました...そして、私の場合は、同じ関数名を持つ2つのjavascriptがあるためでした。
1.ブラウザ開発ツールでブラウザのキャッシュをクリア2.ネットワークタブの下で-キャッシュオプションを無効にするを選択3.ブラウザを再起動4.MacでJSファイルコマンド+ Shift + Rを強制再読み込みfresh新しい戦争がサーバー側に適切に展開されていることを確認
パーティーに少し遅れましたが、これをHTMLに入れると、Webサイトがキャッシュを更新しなくなります。ウェブサイトの読み込みには少し時間がかかりますが、デバッグの目的で気に入っています。この回答から得られた: プログラムでブラウザのキャッシュを空にする方法?
<meta http-equiv='cache-control' content='no-cache'>
<meta http-equiv='expires' content='0'>
<meta http-equiv='pragma' content='no-cache'>