Seite 1 von 1
Browser soll Seite neu laden
Verfasst: 03.04.2006, 14:15
von mcchaos
Hallo!
Ich habe ein JavaScript geändert, das auf allen Seiten einer Domain mittels
<script type="text/javascript" src="myscript.js"></script>
eingebunden wird.
Das Problem ist nun, dass Firefox bei den Besuchern - wenn sie schon mal da waren - das JavaScript nicht neu lädt, sondern die alte Version aus dem Cache nimmt. Erst, wenn man den Cache manuell löscht, kommt das neue JavaScript - wir habens hier selbst getestet und nachvollziehen können (FF 1.5.0.1.) Das gleiche Problem habe ich bei FireFox, wenn z.B. Bilder zwar Ihren Namen behalten, aber inhaltlich geändert werden.
Wie kann ich nun vom Server aus sagen, dass doch bitte Firefox die neuere Version verwenden soll? Kann ich da irgendwas machen?
Re: Browser soll Seite neu laden
Verfasst: 03.04.2006, 14:22
von Hasso
Normalerweise sollte dabei der Browser den Cache umgehen und die aktuelle WebSeite aus dem Web laden, wie sich Forefox hier verhält kann ich nicht genau sagen:
Das Gleiche, aber nun für den Proxy-Server:
Grüsse
Hasso
Browser soll Seite neu laden
Verfasst: 03.04.2006, 14:38
von mcchaos
@Hasso: Danke für Deine Antwort. Das Problem ist aber, wie ich das bei JavaScripts bzw. Bildern einbaue...
Ich dachte, es gibt evtl. was im http-header oder so was ich irgendwie über die .htaccess senden könnte.
Browser soll Seite neu laden
Verfasst: 03.04.2006, 14:43
von derHund
die metas heißen nicht umsonst http-equiv

, du kannst sie genauso gut per header senden.
Re: Browser soll Seite neu laden
Verfasst: 03.04.2006, 14:57
von Hasso
Ja, so ist es. Glaube so sollte es klappen:
PHP
Code: Alles auswählen
<?php
Header("Pragma: no-cache");
Header("Cache-Control: no-store, no-cache, max-age=0, must-revalidate");
Header("Content-Type: text/html");
?>
.htaccess
Code: Alles auswählen
<Files *>
Header set Cache-Control: "private, pre-check=0, post-check=0, max-age=0"
Header set Expires: 0
Header set Pragma: no-cache
</Files>
Browser soll Seite neu laden
Verfasst: 03.04.2006, 14:59
von fornex
@mcchaos,
ich schreibe immer die Revisionnr. von dem Script dahinter, z.B.:
Code: Alles auswählen
<script type="text/javascript" src="myscript.js?03042006"></script>
oder
Code: Alles auswählen
<script type="text/javascript" src="myscript.js?0.0.0.1"></script>
usw.
Beim nächsten mal, kannst du diese Nummer wieder verändern, und FF wird dein Script nochmal neuladen.
Browser soll Seite neu laden
Verfasst: 03.04.2006, 15:19
von derHund
Beim nächsten mal, kannst du diese Nummer wieder verändern,
z.b., indem du den aktuellen timestamp dranhängst.
Re: Browser soll Seite neu laden
Verfasst: 03.04.2006, 15:36
von fornex
derHund hat geschrieben:z.b., indem du den aktuellen timestamp dranhängst.
das hängt von deinen Bedürfnissen ab. Wir haben z.B. ein Projekt, wo jeder Benutzer pro Session sein eigenes Javascript bekommt, dann ist ein timestamp genau richtig.
Du kannst auch gerne schreiben: somescript.js?update1 , ?update2 usw.