Erzwinge ein Neuladen der Seite in Chrome mit Javascript [kein Cache]

Ich muss eine Seite mit JavaScript neu laden und sicherstellen, dass sie nicht aus dem Browser-Cache geladen wird, sondern stattdessen die Seite vom Server neu lädt. [Da sich die Elemente der Seite in der Zwischenzeit geändert haben]

Auf IE und FF fand ich, dass der folgende Code gut funktionierte;

window.location.reload(true);

Unter Chrome oder Safari funktioniert es jedoch nicht.

Ich habe folgendes versucht, aber auch ohne Erfolg;

window.location.replace(location.href);
document.location.reload(true);
document.location.replace(location.href);

Gibt es eine Lösung für dieses Problem?

Ergebnisse

Nachdem ich dies untersucht habe, habe ich festgestellt, dass es sich bei diesem Problem um die Behandlung von HTTP-Protokollen handelt.

Chrome sendet eine Anfrage mitPragma: no-cache HTTP-FeldServer antwortet mitLast-Modified: DATE1 FeldJS verwendetlocation.reload(true) einen Neustart vom Server nicht zwischenspeichern zu erzwingenChrome sendet eine Anfrage mitIf-Modified-Since: DATE1 FeldServer antwortet mitHTTP Status 304 Not Modified

Die Serveranwendung ist schuld daran, dass sie die Statusänderung im dynamischen Seiteninhalt nicht bemerkt und daher a nicht zurückgibt200. Chrome / WebKit ist jedoch der einzige Browser, der eine sendetIf-Modified-Since Feld, wenn der JSlocation.reload(true) wird genannt.

Ich dachte, ich würde meine Entdeckungen hier setzen, falls jemand anderes auf das gleiche Problem stößt.

Antworten auf die Frage(5)

Ihre Antwort auf die Frage