web-dev-qa-db-ja.com

FirefoxとChromeでJavaScriptファイルのみを強制更新する

私のWebブラウザ(FirefoxとChrome)からJavaScriptファイルだけを消去したいです。私はJavaScriptのデバッグをしています、そして私が私のJSファイルを変更したときに私のJSがちょうど更新されないことは厄介です。私が今できる唯一のことは私のクッキーをクリアすることですが、それをすることは私の閲覧履歴の全てを消去します。

他のファイルを消去せずにブラウザにロードされたJavaScriptファイルを消去または更新するにはどうすればよいですか。

63
Graviton

私は開発のためにこれを自分でやる。私が使う Ctrl+F5。それは強制リフレッシュのようなものです。これにより、キャッシュされている場合でも、参照されているJavaScriptファイルまたはCSSファイルが再ダウンロードされるなど、ページが更新されます。

閲覧履歴など、他のものはクリアされません。

しかし、私はこれがFirefox、そしておそらくInternet Explorerで動くことを知っているけれども、私がそうであるかどうかわからないことに注意してください Ctrl+F5 Chromeでも同じように機能します

また、 iegik と言います。

ブラウザによっては ``が使えますCtrl+Shift+R 同じことをする

42
7wp

Chromeの場合:

Chrome 15以降、デベロッパーツールを開き、画面左下の歯車をクリックして、チェックボックスキャッシュを無効にするを選択します。

Disable cache in Chrome 15 and up

こうすれば、リソースが常にサーバーから再ロードされることを確実にし、手動でキャッシュをクリアする必要がなくなります。これにより、無関係のサイトのキャッシュデータも削除される可能性があります。

50
avernet

私は@ 7wpに同意しません。あなたのエンドユーザーの何人かは慣れていないので Ctrl+F5 ブラウザ間の違いや他のブラウザ(たとえば長老)の存在さえ意識していない人もいますが、ブラウザにJS/CSSファイルの新しいコピーをダウンロードするよう強制する必要があります。

ここでの最善の解決策は、.js/.cssファイル名の最後にタイムスタンプを追加するか、svnバージョンを追加することです。これも素晴らしいアイデアです。

<script src="js/myfile.js?t=<?=time()?>" type="text/javascript"></script>
8
Alon Kogan

閲覧、履歴、クッキー、パスワード、保存されたフォームデータ、その他(デフォルト)を消去するのではなく、キャッシュだけを消去してみてください。

Firefox 3.5では、にアクセスしてください。

ツール"最近の履歴を消去...

「今すぐ消去」を選択する前に、「キャッシュ」のみが選択されていることを確認してください。

Chromeで(私が開発者用ビルドを使用しているので、使用している特定のバージョンがわからない)、にアクセスしてください。

レンチアイコン(ツール)"オプション"個人設定タブ"閲覧履歴データの消去...

繰り返しますが、「キャッシュを空にする」のみをチェックしてください。

あるいは、Firefoxで新しいプライベートセッションを開くか、Chromeでシークレットウィンドウを開くこともできます。また、閲覧時に自動的にダウンロードして処理するファイル(.JSファイルを含む)もキャッシュしないでください。

5
RoyalKnight

JavaScriptファイルを別のタブで開きます。 Shift +更新、最新の変更を確認してから、 Shift +実際のページを更新する(実際には、私の場合はフレームセット内のフレームです。これは問題を悪化させるようです)。これはほとんどいつもうまくいきます。

1
doug mayo-wells

Chromeではあなたはただ押すことができます Ctrl 更新ボタンをクリックします。私はこれを偶然発見した。

1
Julio Bahar

私が取り組んでいるサイトでちょっとしたトリックを使っています...あなたと同じ理由で。小さな変更を加え、JavaScriptコードでJavaScriptコードをロードし、常に現在の(キャッシュされていない)スクリプトを使用するようにします。

ロードするJavaScriptコードをPHPファイルに作成してみてください...単に<?php ?>を先頭に置き、.phpの拡張子を付けてください。

var fileref = document.createElement('script');
fileref.setAttribute("type", "text/javascript");

// The Date added to the file doesn't effect the results but
// helps Internet Explorer be sure to refresh the data and
// not use cache

var d = new Date();

var t = d.getTime();

fileref.setAttribute("src", filename + ".php?date=" + t);

fileref.setAttribute("id", filename);

名前が変わるため、Internet Explorerはそれが新しいファイルであると見なします;)

1
Greg

私は自分では使っていませんが、Firefoxのアドオン の「キャッシュのクリアボタン」 が役に立つかもしれません。私は彼らのドキュメンテーションを読みました、それでそれもあなたの閲覧履歴をクリアするかどうかはわかりません。

0
Jared Harley

Chromeのコンテンツ設定に移動し、JavaScriptを無効にして保存します。

その後、JavaScriptを再度有効にします。

0
nisar

JavaScriptを使用していて、JavaScriptの変更を反映するようにページをリロードすることを心配している場合。実行時にロードしたJavaScriptファイルに変更を加えることができ、リロードを使用せずにテストしたい新しい機能や変更をテストできるChromeデバッガを使用してみてください。

0
Nikhil Joshi

最新のChromeではそれが利用可能です。

Enter image description here

0
Baljeetsingh

JavaScriptファイルの最後に動的日付関数を追加してください。ブラウザに更新されたJavaScriptファイルを強制的にロードさせます。つまり、.jsファイルを含めるときに.... xyz.jsを追加できますか?

< ? php echo date('l jS \of F Y h:i:s A') ? >

もちろん、デバッグが終了して本番に入る準備ができたら、これは削除できます。

0
Chris