Wie kann ich window.location zwingen, eine HTTP-Anfrage zu stellen, anstatt den Cache zu verwenden?

8

In meiner Webanwendung setze ich window.location , um zu einer anderen Seite zu navigieren, aber aus irgendeinem Grund zeigt Firefox eine alte Version dieser Seite an.

Mit Firebug habe ich festgestellt, dass der Browser nicht einmal eine HTTP-Anfrage sendet, sondern einfach eine ältere Version dieser Seite (nicht einmal die letzte) verwendet und diese anzeigt.

Die Seite selbst hat alle üblichen Header , um das Zwischenspeichern zu verhindern, was perfekt funktioniert, wenn ich meine Seiten mit Links oder manuell durchblättere Eingang. Das Problem tritt nur auf, wenn window.location ausgewählt wird.

Ist das ein Firefox-Problem oder etwas von einem Browser zu erwarten? Kann dieses Verhalten geändert werden?

    
Daniel Rikowski 07.01.2013, 13:47
quelle

4 Antworten

19

Sie könnten der Seiten-URL einfach einen zufälligen Parameter hinzufügen, damit der Browser eine neue Anfrage stellen kann.

Also statt

zu verwenden %Vor%

verwenden

%Vor%     
Sirko 07.01.2013, 13:50
quelle
2

Sie können location.reload mit einem Argument true verwenden, das den Cache immer umgeht.

%Vor%     
Nick Bray 07.01.2013 13:49
quelle
0

Fügen Sie der URL einen zeitspezifischen oder zufälligen Querystring-Wert hinzu. Dadurch wird das erneute Laden der Seite erzwungen.

%Vor%     
mortb 07.01.2013 13:51
quelle
0

Sie müssen überprüfen, ob in der URL ein Abfrageparameter vorhanden ist. Wenn Abfrageparameter vorhanden sind, sollten Sie den Zeitstempel mit "& amp;" Ich habe einen kurzen Auszug geschrieben, der Ihnen vielleicht helfen könnte.

%Vor%

Verwendung:

%Vor%

Sie könnten das Snippet weiter modifizieren, um den Zeitstempel im Abfrageparameter zu entfernen, um eine Duplizierung zu vermeiden.

    
nairvijays 07.01.2013 14:46
quelle

Tags und Links