Frage

Es scheint, dass IE6 jede Form der Cache-Ungültigmachung ignoriert, die über HTTP-Header gesendet wird. Ich habe versucht, Pragma auf „Kein Cache“ und „Cache-Ablauf“ auf die aktuelle Zeit zu setzen, aber in IE6 wird beim Zurückschlagen immer eine zwischengespeicherte Version einer Seite I aufgerufen Ich arbeite daran.

Gibt es einen bestimmten HTTP-Header, den IE6 ebenfalls überwacht?

War es hilfreich?

Lösung

Cache-Control: private, max-age=0 sollte es beheben.Mit klassischem ASP ist dies möglich Response.Expires=-1.

Bedenken Sie beim Testen, dass die Tatsache, dass Ihr Server Seiten mit deaktiviertem Caching bereitstellt, nicht bedeutet, dass der Browser dies auch dann befolgt, wenn er eine alte zwischengespeicherte Seite hat, von der ihm mitgeteilt wurde, dass sie in Ordnung sei.Leeren Sie den Cache oder verwenden Sie F5, um das Neuladen dieser Seite zu erzwingen.

Auch in den Fällen, in denen der Server zwischengespeicherte Inhalte bereitstellt, können Sie es verwenden Strg+F5 um dem Server zu signalisieren, es nicht aus dem Cache bereitzustellen.

Andere Tipps

Du musst vorsichtig sein.Wenn Sie AJAX über XMLHttpRequest (XHR) verwenden, werden die im Header festgelegten Cache-„Empfehlungen“ von ie6 nicht berücksichtigt.

Die Lösung besteht darin, eine Zufallszahl an die URL-Abfragen anzuhängen, die in AJAX-Anfragen verwendet werden.Zum Beispiel:

http://test.com?nonce=0123 

Ein guter Generator hierfür ist die UTC()-Funktion, die einen eindeutigen Zeitstempel für den Browser des Benutzers zurückgibt ...das heißt, es sei denn, sie spielen mit ihrer Systemuhr herum.

Haben Sie versucht, ein ETag im Header festzulegen?Sie sind eine ziemlich zuverlässige Methode, um anzuzeigen, dass sich Inhalte geändert haben w3c-Spez & Wikipedia

Darüber hinaus besteht eine etwas grobere Möglichkeit darin, einen zufälligen Abfragezeichenfolgenparameter an die Anfrage anzuhängen, beispielsweise den aktuellen Unix-Zeitstempel.Wie gesagt, grob, aber IE6 ist nicht gerade das subtilste Biest

Eine kleine Anmerkung:Aus Erfahrung weiß ich, dass IE6 Javascript aus dem Cache lädt, selbst wenn er gezwungen wird, die Seite über Strg-F5 neu zu laden.Wenn Sie also mit Javascript arbeiten, leeren Sie immer den Cache.

Die IE-Webentwickler-Symbolleiste kann dabei enorm helfen.Es gibt eine Schaltfläche zum Löschen des Caches.

Inhalte mit „Content-Encoding:gzip“ wird immer zwischengespeichert, obwohl Sie „Cache-Control“ verwenden:kein Cache"

http://support.microsoft.com/kb/321722

Sie können gzip auch nur für IE6 deaktivieren

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top