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


63

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

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

回答:


42

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

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

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

また、 iegik と言う:

ブラウザによっては `を使うことができます Ctrl + シフト + R 同じタスクを実行します。


すばらしいです!私はあなたに受け入れられた答えを変えます
Graviton

私はそれを理解しています...しかし、私はこれがFirefox、そしておそらくIEで機能することを知っていますが、CTRL-F5がChromeで同じように機能するかどうかはわかりません。
7wp

2
Win7上のChrome 21ベータ版と同じ - ctrl-f5でページを更新してもJSファイルは再要求されない
Artem Russakovskii

1
実際には、クロムは最初のctrl + f5を設計上の通常のリフレッシュとして扱い、その後のctrl + f5(1つ以上)は短時間ですべてのソースを強制的に再ロードします。
Zeela

1
Chromeの場合は、F12キーを押しながらリロードボタンを右クリックします。 superuser.com/questions/220179/…
Cees Timmerman

50

Chromeの場合:

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

Disable cache in Chrome 15 and up

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


先端をありがとう - 私はちょうどチェックしました、そして、そのオプションはChrome 14にもあります。
keybits

天才!それは素晴らしい発見です。
Randomblue

素晴らしい、私はこれを探していました。
Artem Russakovskii

...そしてそれが終わった後にオプションをオフにすることを忘れないでください。
Halil Özgür

もう一度見ると、これらのオプションは開発ツールが表示されているときにのみアクティブになります。 twitter.com/ChromiumDev/status/227356682890670080 (から stackoverflow.com/a/7000899/372654
Halil Özgür

8

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

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

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

5

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

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

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

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

Chromeで(私が開発者向けビルドを使用するので、使用している特定のバージョンが分からない)

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

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

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


シークレットは、おそらくChromeに移行する方法です。
mdoar

1

私は自分が取り組んでいるサイトでちょっとしたトリックを使っています…あなたと同じ理由で。私は小さな変更を加え、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
名前を '.php'に変更する必要はありません。 'filename.js?t =' + tと入力すると、結果は同じになります。 '.css'でもできます。私たちのプロダクションシステムはすべてこのトリックを使って、クライアントが正しいコンテンツファイルを使っていることを証明します。
Leonel Martins

1
注意として、日付/時刻の代わりにSVNリビジョン番号を使用する傾向があります。そうすることでキャッシュの利点が得られ、実際にコミットしたときにのみ更新されます。
Groo

本当にありがとう!このトリックは完全に私の心を滑らせた。私は何日もこの問題と戦ってきました、そして、これは私のためにそれをするでしょう。これをURLの最後に追加します。「?&lt;?php echo time()?&gt;」
thrashr888

1

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


これはページ全体のハードリフレッシュを行います、私はこれがJavascriptだけをリフレッシュするとは思わない。
Ivo Flipse

1

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


0

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


0

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

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


0

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


スーパーユーザーへようこそ!もう一度質問をよく読んでください。あなたの答えは ではない 元の質問に答えてください。
DavidPostill


0

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

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

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


これはJavascriptではありません。
Natalie Adams
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.