2012-03-24 16 views
1

Ich entwickelte eine Web-App, die eine sich ständig ändernde Ressource enthält (die App aktualisiert eine Datenbank, was wiederum bedeutet, dass sich die Seite ändert). Wenn ich in Chrome zu einer anderen Website gehe, indem ich einem Link folge und mit einem Zurück-Button zurückkomme, wird die ursprüngliche Version der Seite und nicht die neueste Version angezeigt. Wenn ich die Seite aktualisiere, sehe ich die Änderungen. Weißt du, wie man mit diesem Problem umgeht? Gibt es eine Möglichkeit, Chrome zu zwingen, die Seite zu aktualisieren oder die neueste Version beizubehalten?Google Chrome öffnet nicht die neueste Version der Web-App

+1

Es ist sehr schwierig, Fragen mit ausreichend Daten zu beantworten. Bitte geben Sie [minimalen Beispielcode] (http://sscce.org/) und einen Link zu einer Live-Version des Beispiels ein. Lesen Sie [Schreiben Sie die perfekte Frage] (http://tinyurl.com/so-hints) für mehr. – outis

Antwort

1

Die offensichtliche Antwort ist, den Expires-Header auf den aktuellen oder einen früheren Zeitpunkt (im richtigen RFC-Format) festzulegen, um anzugeben, dass die Seite sofort abläuft. Jedoch ist auch a previous question relevant. Offenbar speichert Chrome Content unabhängig von den Expires/Caching-Headern für 300 Sekunden. Internet Explorer kann auch aggressiv zwischenspeichern.

Ich bezweifle, dass es eine gute Problemumgehung gibt. Eine Möglichkeit könnte sein, einen Cookie mit der aktuellen Uhrzeit beim Versenden der Seite zu setzen und diese mit Javascript im Kopf der Seite zu testen. Wenn der Wert zu alt ist (Ihre Entscheidung, wie lange "zu alt" ist), erzwingen Sie das erneute Laden der Seite mit window.location, z. B. mithilfe einer Dummy-Abfragezeichenfolge '?d='+Math.random(), um sicherzustellen, dass die zwischengespeicherte Version nicht verwendet wird.

Verwandte Themen