2009-12-09 23:52:52 +0000 2009-12-09 23:52:52 +0000
155
155

Wie kann man Internet Explorer (IE) dazu zwingen, die Seite WIRKLICH neu zu laden?

Wenn ich Internet Explorer 8 zum Testen meiner Webanwendung verwende, stelle ich oft fest, dass die Seite nicht neu geladen wird, so dass ich meine Änderungen nicht sehe. Das hat zu einer Menge Zeitverschwendung und Frustration geführt, weil ich mich fragte, warum meine Korrektur “nicht funktionierte” - obwohl der Browser in Wirklichkeit nie die korrigierte Version geladen hat.

Ich habe die Schaltfläche Aktualisieren ausprobiert. Ich habe F5, Strg-F5, Strg-R, Strg-Umschalt-R, Strg+Umschalt-R ausprobiert, hielt die Strg-Taste gedrückt, während ich auf die Schaltfläche Aktualisieren klickte, alles, was mir einfiel - es lädt die neuen Inhalte nicht wirklich vom Server. Ich habe dies mit Fiddler bestätigt.

Wie sage ich dem IE: “ Es ist mir egal, was Sie glauben, dass Sie die Seite zwischengespeichert haben, ich möchte die Seite neuladen - nein wirklich, ich meine es dieses Mal ehrlich gesagt, ich möchte, dass Sie wirklich zum Server gehen und alles noch einmal herunterladen”?

Antworten (12)

126
126
126
2009-12-09 23:57:24 +0000
  1. Wählen Sie Tools >> Internet-Optionen.
  2. Klicken Sie auf die Schaltfläche Einstellungen in Browsing-Verlauf.
  3. Wählen Sie das Optionsfeld Jedes Mal, wenn ich die Webseite besuche.
  4. Klicken Sie auf OK, um das Dialogfeld Einstellungen zu schließen.
  5. Klicken Sie auf OK, um das Dialogfeld Internetoptionen zu schließen.
43
43
43
2010-07-08 18:30:53 +0000

Da angegeben ist, dass IE8 der Browser ist, können Sie F12 drücken, um die Entwicklungswerkzeuge zu öffnen, und oben das Menü Cache wählen und dann immer vom Server aktualisieren, um den Cache zu umgehen.

Kurz gesagt, F12 drücken. Klicken Sie auf Cache -> Immer vom Server aktualisieren

Auch hier können Sie einfach Ihren Cache löschen, wenn dies die gewünschte Aktion ist. Die Option Immer aktualisieren ist keine globale Option und wird die Gesamtleistung im IE nicht beeinträchtigen.

Auch der IE7 verfügt über Entwicklungswerkzeuge, die jedoch separat installiert werden müssen. Sie können auch die Entwicklungswerkzeuge des IE8 verwenden, um den Browser im IE7-Modus auszuführen.

22
22
22
2009-12-10 00:38:04 +0000

Strg+F5 im IE lädt die Seite neu und ignoriert den Cache

19
19
19
2009-12-10 01:31:08 +0000

Der IE ist sehr darauf bedacht, Seiten in den Cache zu stellen, auch wenn Sie ihm dies über die Cache-Header verbieten. Microsoft KB 234067 erklärt die dazu notwendigen Beschwörungsformeln. Kurz gesagt, Sie müssen die folgenden Header liefern.

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

Die Einstellung Expires = -1 (wie im KB-Artikel empfohlen) sollte für die meisten Frameworks funktionieren; Browser müssen ungültige Datumsformate wie in der Vergangenheit behandeln RFC 2616 ).

In . NET können Sie dies in einer seitenweisen Granularität tun, indem Sie vor dem Aufruf der Webseite diesen Satz von Methoden verwenden:

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();

siehe http://www.localwisdom.com/blog/2012/10/force-a-page-refresh-on-a-asp-net-mvc-website/ Arbeitet gut für MVC3.0.

6
6
6
2009-12-09 23:58:04 +0000

Die Registerkarte Netzwerk in der Symbolleiste für Webentwickler verfügt über eine Schaltfläche zum einfachen Löschen des Cache. Normalerweise benutze ich das in dem von Ihnen beschriebenen Fall.

Es ist nicht ideal, da Sie vielleicht nicht wirklich Ihren gesamten Cache löschen wollen, aber da ich den IE nicht zum allgemeinen Browsen verwende, funktioniert es bei mir.

4
4
4
2011-04-01 03:47:03 +0000

Dies geschieht immer noch im IE9. Erstaunlicherweise lautet die Antwort Ctrl-Shift-Refresh-Taste

3
3
3
2009-12-10 00:14:40 +0000

Übrigens wird das Problem möglicherweise auch für Ihre Website-Betrachter bestehen. Ich habe die folgende Idee in einem AJAX-Buch gesehen…

PHP verwenden, um der aktuellen URL ein zufälliges Token hinzuzufügen, so dass der Browser dazu verleitet wird, es für eine separate Seite zu halten.

2
2
2
2009-12-09 23:58:50 +0000

Ich selbst hatte das gleiche Problem. Ich glaube, die einzige Möglichkeit dazu ist, den Cache zu löschen (Sicherheit -> Browserverlauf löschen). Kreuzen Sie nur “Temporäre Internetdateien” an.

Hoffentlich hilft das.

2
2
2
2010-11-17 15:36:29 +0000

Halten Sie entweder die Alt- oder die Strg-Taste gedrückt, während Sie auf die Schaltfläche Aktualisieren klicken.

1
1
1
2009-12-10 01:49:44 +0000

Ich weiß, das mag ein bisschen seltsam erscheinen… aber eine Sache, die mir in letzter Zeit aufgefallen ist, ist, dass man manchmal unterschiedliche Ergebnisse erhält, je nachdem, WIE man “auffrischt”. Ich habe folgendes Verhalten beobachtet:

F5 > lädt aus dem Cache ohne Aktualisierung, Alt+D, ENTER > aktualisiert wirklich unter Umgehung des Caches. (Alt+D kann durch Klicken in der Adressleiste ersetzt werden)

1
1
1
2012-08-22 18:35:56 +0000

F12 -> CTRL+R ist etwas schneller für IE9+. Wie bereits erwähnt, löscht IE den Cache nicht so intelligent wie Chrome.

1
1
1
2010-08-12 02:58:55 +0000

Ich stimme zu, dass das Hinzufügen eines zufälligen Tokens zur Url die zuverlässigste Lösung ist, und wenn es einmal implementiert ist, muss der Benutzer nichts mehr tun.

Abgesehen von dem Zufalls-Token-Ansatz, den ich immer wieder verwende, um ein vollständiges Neuladen (Anforderung) der Seite und aller abhängigen Dateien zu erzwingen, platziere ich einfach meinen Cursor an das Ende der Url und drücke die Eingabetaste. Funktioniert jedes Mal… und ich benutze IE 8.