Hallo. Wenn ich als Besucher einen Gambio Shop aufrufe werden alle Javascripte im Cache gespeichert. Wenn ich nun ein Script verändere erkennt der Browser das nicht sofort. In Firefox werden die Scripte neu geladen - und somit die Änderungen erkannt - sobald ich die Seite aktualisiere. In Chrome muß ich erst den Browsercache löschen damit Änderungen erkannt werden. Gibt es eine Möglichkeit daß geänderte Scripte in allen Browsern sofort erkannt werden oder muß ich dazu einfach nur neue Scripte verwenden?
Du musst dafür sorgen, dass der Browser das Ding garantiert neu herunterlädt wenn sichs ändert. Das erledigen wir zum Beispiel an vielen Stellen per bust Parameter, idealerweise in der URL und nicht per GET, das ist am zuverlässigsten.
Also so: Code: src="meinscript.js?bust=12345 Aber was ist wenn ich die Datei im GXModules....Javascript/ProductInfo/ habe?
2 Fälle: Fall 1: Du lädst direkt selbst eine JS Datei. Du hängst dann nach Muster und abhängig von der Einstellung im Backend ( bust Parameter im Pfad/bust Parameter per GET) den aktuellen, dynamischen bust Parameter an. Der muss sich immer dann ändern, wenn man den Seitencache leert. Fall 2: Du lässt ein Javascript durch unseren JS Cache ausliefern. Du löscht dann nach Änderung den Modul und Seitencache, damit der bust Parameter sich ändert und der Browser die neue Version lädt. Und dazu: In allen Shops, die auf einem reinen Apache Hosting laufen, lässt du den Bust Parameter idealerweise im Pfad setzen. Das ist per Default aus, weil es auf anderen Webservern als Apache ohne die htaccess Datei umzusetzen sofort zu einem Instanttod des Shops führt den Knopf im Backend anzuschalten, bis man den wieder per Krücke ausmacht. Die login_admin.php kennt einen Parameter dafür das rückgängig zu machen.
Mir fällt gerade auf, das ich vergessen hab zu sagen warum man das hier tun sollte: Theoretisch sollte ein Parameter hinten auch dafür sorgen, dass ein Script immer neu geladen wird, das ist aber in manchen Browsern auch nicht immer ganz zuverlässig. Spätestens mit dem Ding im Pfad ist das Rennen gewonnen. Dazu wird so ein Asset dann auch auf Caching Proxies vor einem Shop cachefähig, sei es was lokales oder Cloudflare oder was auch immer. Die mögen alle keine Dinge mit GET-Parametern.