Problem mit Aktualisierung von JavaScript Dateien
Stefan Richter
- javascript
Hallo,
für folgendes Problem würde ich gerne eine Lösung finden:
Und zwar betreibe ich seit längerem schon ein Browsergame, bei welchem es sehr oft Updates gibt, um bspw. die Bedienbarkeit zu verbessern oder neue Funktionen einzuführen.
Bei den .php Dateien ist das absolut kein Problem, man lädt die Dateien hoch und für den User sind die neuen Funktionen sofort verfügbar...
Anders sieht es z.B. bei .js oder auch .css Dateien aus... nun wäre es ja eigentlich ganz einfach nur den Cache zu löschen, die Seite zu aktualisieren und man ist auf dem neuesten Stand... aber viele User kommen einfach nicht darauf, wenn sie sehen das etwas nicht mehr richtig funktioniert bzw. angezeigt wird, einfach mal den Cache zu löschen.
Nun ist meine Frage, wie könnte man dies anders lösen, so dass sobald eine neue Version einer JavaScript Datei vorliegt, der Browser automatisch erkennt, dass er die neue Datei laden soll und nicht die alte aus dem Cache.?
Ich habe mir schon gedacht, die .js Dateien mit php zu erzeugen, einen header zu setzen, die Erstellzeit der .js Datei auszulesen und das Attribut Last-Modified auf diesen Wert zu setzen... hat jemand Erfahrung damit, ob sowas funktioniert?
Oder gibt es evtl. noch eine andere, einfachere Lösung?
Schonmal vielen Dank im Voraus!
Grüße
Moin
setz in den Dateinamen einfach einen Datumsteil, dann kann die neue Version (mit neuem Datum) gar nicht in irgendwelchen Caches sein.
Die URLs jeweils in den per PHP generierten Seiten anzupassen dürfte kaum Mehraufwand bedeuten.
Gruß
rfb
Naja doch etwas Mehraufwand wäre das schon, weil es sich ja nicht nur um eine JavaScript, bzw. CSS Datei handelt, sondern um mehrere... innerhalb mancher js Dateien verlinke ich wiederum auf andere js Dateien.
Von daher müsste ich die gesamten Dateien mit PHP erzeugen lassen.
Hallo,
Anders sieht es z.B. bei .js oder auch .css Dateien aus...
Das Problem habe ich auch mit CSS- Dateien. Da habe ich eine unauffällige Grafik unten auf der Seite, klicke drauf und lade die (veraltete) Datei. Dann Klick auf Refresh oder Taste [F5] und die Datei wird neu geladen. Dann Klick auf zurück.
Ist umständlich, ich weiss. Aber praktikabel für mich selbst während der Entwicklungsarbeit.
Keine Lösung für User, aber vielleicht ein Ansatz, um das zu automatisieren?
Kalle