So markieren Sie Client-Javascript-Caches als ungültig [duplizieren]

2

Mögliches Duplikat:
Speichert Firefox Javascript-Dateien, auch wenn alle Caches deaktiviert sind?

Ich habe eine Website, die gleichzeitig in Gebrauch und in Entwicklung ist, und ich muss von Zeit zu Zeit das Javascript aktualisieren. Wenn Sie jedoch einen Browser besuchen (in Firefox getestet), werden in der Regel Ihre eigenen zwischengespeicherten Java-Skripte verwendet, auch wenn sich die serverseitigen Kopien geändert haben. Dies führt zu Problemen, insbesondere wenn sich das Seiten-Markup zusammen mit dem Javascript ändert.

Die einzige "Lösung", die ich gefunden habe, besteht darin, dass der Client den Quellcode anzeigt, auf das anstößige Javascript klickt und, sobald es in das Quellcode-Ansichtsfenster geladen wurde, das Quellcode-Ansichtsfenster aktualisiert und dann die aktuelle Seite aktualisiert. Dies ist kaum eine Lösung. Kann ich das auf irgendeine Weise transparent machen, serverseitig?

Mala
quelle
Weitere Tipps zu SO
Nifle 16.10.10

Antworten:

4

Die beste Lösung scheint darin zu bestehen, eine Versionszeichenfolge an Ihre Anforderungen anzuhängen.

javascript.js?v=xxx

Aktualisieren Sie die Versionszeichenfolge jedes Mal, wenn sich die Datei ändert. Natürlich muss der Versionsstring nichts tun und zeigt immer auf dieselbe Datei. Der Browser lädt die Javascript-Datei neu. Der Vorteil hierbei ist, dass Sie die Cache-Lebensdauer sehr hoch einstellen können, um auch unnötige Lasten zu reduzieren.

Phoshi
quelle
das ist perfekt, danke! Wie stelle ich die Cache-Lebensdauer hoch ein?
Mala
1
Richtig, obwohl leider einige schlecht konfigurierte CMS-Software und ähnliches fälschlicherweise den Browser auffordert, nichts zwischenzuspeichern, wenn eine GET-Anforderungs-URL Parameter enthält. Dies lässt sich jedoch leicht überprüfen, indem Sie in die Antwortheader blicken. (Wie mit Firebug, Web Inspector oder sogar web-sniffer.net )
Arjan
@Mala; Das wäre der Expires:HTTP-Header-Abschnitt oder Cache-Control. Beide sind im Internet detailliert beschrieben. Web-caching.com/mnot_tutorial/how.html sieht gut aus.
Phoshi