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?

Verfasst:
von

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:

Code: Alles auswählen

<META HTTP-EQUIV="CACHE-CONTROL" CONTENT="no-cache">
Das Gleiche, aber nun für den Proxy-Server:

Code: Alles auswählen

<META HTTP-EQUIV="PRAGMA" CONTENT="no-cache"> 
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.

Verfasst:
von
SEO Consulting bei ABAKUS Internet Marketing
Erfahrung seit 2002
  • persönliche Betreuung
  • individuelle Beratung
  • kompetente Umsetzung

Jetzt anfragen: 0511 / 300325-0.


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&#40;"Pragma&#58; no-cache"&#41;; 
Header&#40;"Cache-Control&#58; no-store, no-cache, max-age=0, must-revalidate"&#41;; 
Header&#40;"Content-Type&#58; text/html"&#41;; 
?>
 
.htaccess

Code: Alles auswählen

 <Files *> 
Header set Cache-Control&#58; "private, pre-check=0, post-check=0, max-age=0" 
Header set Expires&#58; 0 
Header set Pragma&#58; 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.