IE7 tut es gut, aber IE8 nicht geladen JavaScript Galerie Skript - was ist falsch?
-
10-10-2019 - |
Frage
Ich habe eine Javascript galleria, die Arbeit in jedem modernen Browser tut, auch in IE7. Aber in IE8, wenn seine Last .. es zeigt nicht die Galerie .. aber wenn ich Strg + F5 drücken wird es ein hartes reload, löscht sie den Cache und schließlich die galleria erscheint .. Wenn ich neu lädt nur die Seite .. oder wenn ich gehe auf eine andere Seite mit dem gleichen galleria Skript, das Problem kommt wieder .. so dass ich eine harte reload-Skript für IE8 benötigen.
Pseudo-Code:
On Document Load
If user agent IE8 {
erase website cache
}
do normally continue webpage loading..
Lösung
Das Problem ist nicht auf der Client-Seite. Das Problem ist der Server. IE wird aggressiv Cache-Antworten auf AJAX-Anforderungen, wenn der Server eine Cache-Control: no-cache
in der Antwort setzt. Das Löschen des Cache im Browser ist die falsche Lösung, da der Server sollte entscheiden, was aktuell ist und was nicht.
So den Server ändern Antwort auf Ihre Anfrage die richtigen Header enthalten.
Andere Tipps
siehe den Link über den Cache zu löschen! Alle löschen Website Cache?
Ein möglicher Weg zu fälschen eine klare Cache auf alle Ressourcen eines Cache-buster anhängen von einer Seite Ihre Ressourcen wie
sein würde"test.js?cacheBuster=" + new Date())
Dies sollte das letzte Mittel sein.
Mit Javascript, Sie werden nicht in der Lage sein, dies zu tun. Was Sie tun können, ist Code in Ihrer Server-Seite Sprache zu schreiben, so dass die gesamte Seite nicht zwischengespeichert werden.