web-dev-qa-db-ja.com

どこのようにInternet Explorer(IE)にページを本当にリロードさせるには?

Internet Explorer 8を使用してWebアプリケーションをテストするときに、ページがリロードされないことがよくあるので、変更内容がわかりません。これは私の修正が「うまくいかなかった」理由を疑問に思う多くの時間とフラストレーションをもたらしました - 実際にブラウザは決して修正されたバージョンをロードしませんでした。

[更新]ボタンを試しました。私はもう試した F5、 Control - F5、 Control - R、 Control - Shift - R、 ホールディング Control Refreshボタンをクリックしている間、私が考えることができるすべて - サーバーから新しいコンテンツを実際にロードしません。私はこれをFiddlerに確認しました。

IE "あなたがキャッシュしたと思うものには関係ありません。リロードしますページ - いいえ、実際には、私はそれを意味します今回は、正直言って、実際にしてほしいサーバーにアクセスして再度ダウンロードしてください "?

151
EMP
  1. ツール>>インターネットオプションを選択します。
  2. 閲覧履歴設定ボタンをクリックします。
  3. ウェブページにアクセスするたびにラジオボタンを選択します。
  4. OKをクリックして設定ダイアログを閉じます。
  5. OKをクリックしてインターネットオプションダイアログを閉じます。
123
Gonzalo

それはIE8がブラウザであると述べているので、あなたは押すことができます F12 開発ツールを開き、上部にある「キャッシュ」メニューを選択してから、常にサーバーからリフレッシュしてキャッシュをバイパスします。

つまり、を押す F12クリックキャッシュ - >常にサーバーから更新

それが望ましいアクションであれば、ここでもキャッシュをクリアすることができます。常に更新するオプションはグローバルなオプションではなく、IEの全体的なパフォーマンスを妨げることはありません。

IE7には開発ツールもありますが、別々にインストールする必要があります。また、IE 8開発ツールを使用してブラウザをIE 7モードで実行することもできます。

42
Brandon

Ctrl+F5 in IEはキャッシュを無視してページをリロードします。

22
mfeingold

あなたがキャッシュヘッダを経由しないようにそれを言うときでさえ、IEはページをキャッシュすることに非常に熱心です。 Microsoft KB 234067 は必要な呪文について説明しています。つまり、以下のヘッダを配信する必要があります。

Pragma: no-cache
Cache-Control: no-cache
Expires: <some time in the past>

Expires = -1を設定すると(KB記事で推奨されているように)、ほとんどのフレームワークでうまくいくはずです。ブラウザは無効な日付フォーマットを過去のものとして扱う必要があります( RFC 2616 )。

.NETでは、Webページを呼び出す前にこの一連のメソッドを使用して、ページ単位の細分性でこれを実行できます。

HttpContext.Response.Cache.SetExpires(DateTime.UtcNow.AddDays(-1));
HttpContext.Response.Cache.SetValidUntilExpires(false);
HttpContext.Response.Cache.SetRevalidation(System.Web.HttpCacheRevalidation.AllCaches);
HttpContext.Response.Cache.SetCacheability(System.Web.HttpCacheability.NoCache);
HttpContext.Response.Cache.SetNoStore();

参照してください: http://www.localwisdom.com/blog/2012/10/force-a-page-refresh-on-a-asp-net-mvc-website/ MVC3.0に適しています。

17
Marcelo Cantos

Web開発者ツールバーには、キャッシュを簡単に消去するためのボタンがあります。私は通常あなたが説明する場合にそれを使います。

あなたが本当にあなたのキャッシュ全体をクリアしたくないかもしれないのでそれは理想的ではない、しかし私は一般的なブラウジングのためにIEを使わないので、それは私のために働く。

6
pkaeding

これはまだIE9でも発生します。驚くべきことに、答えはCtrl - Shift - 更新ボタン

4
PandaWood

ちなみに、問題はあなたのウェブサイトの視聴者にとっても同様に存在するでしょう。私はAJAX本で次の考えを見ました...

現在のURLにランダムなトークンを追加するにはPHPを使用してください。そうすればブラウザはそれを別のページだと誤解させます。

3
Moshe

私も同じ問題を抱えています。それをする唯一の方法はキャッシュをクリアすることであると思います(Safety - > Delete Browsing History)。 「インターネット一時ファイル」のみをチェックしてください。

お役に立てれば。

2
jchapa

どちらかを押したままにします alt または ctrl 更新ボタンをクリックするときにキーを押します。

2
niaccm

これはちょっと奇妙に思えるかもしれませんが...最近気付いたことの一つは、あなたが "リフレッシュ"する方法によって時々違う結果を得るということです。私は次のような振る舞いを見ました:

F5 >リフレッシュせずにキャッシュからロードします。
Alt+D、 ENTER > 本当にキャッシュをバイパスして更新します。
Alt+D アドレスバーをクリックすることで置き換えることができます)

1
eidylon

ランダムなトークンをURLに追加するのが最も信頼性の高い解決策であり、一度実装されるとユーザーは何もする必要がないことに同意します。

ランダムトークンアプローチとは別に、ページとそのすべての従属ファイルを強制的に完全にリロード(要求)するには、カーソルをURLの末尾に置いてEnterキーを押すだけです。毎回動作します...そして私はIE 8を使います。

1
Jerry

F12 - > CTRL+R IE9 +ではやや速いです。人々が言っ​​たように、IEはChromeがそうであるように非常に知的にキャッシュをクリアしません。

1
Chris S