Ich glaube, dass Zischdings weiß, wie man die Cache im Firefox löscht, aber sie will, dass man es nicht mehr nach jeder Änderung machen muss. Außerdem haben ja allen Anschein viele Leute Probleme damit (siehe viele Threads dazu)
So, ich habe mir mal im Chat angeschaut, wie die Stylesheets eingebunden sind.
Alle Sytlesheets wurden mit einem
? nach der URL eingebunden. In der OL, im Eingabeframe und im Werbeframe steht auch noch eine zufällige Zahl nach jedem Laden dahinter, nur im Stream nicht.
Also aktualisieren sich die Styles der OL, des Eingabeframes und des Werbeframes nach jedem Neuladen von selber. Nur im Stream kann der Browser es aus der Cache nehmen, da das einbinden des Stylesheets immer gleich bleibt, also die URL des Links.
Im Stream sieht es z.B. immer so aus (ohne zufällige Zahl hinter dem ?):
Code: Alles auswählen
<link rel="stylesheet" type="text/css" href="/maxs/style_stream.css?">
und in den anderen Frames sieht es dann so z.B. aus (mit zufälliger Zahl hinter dem ?):
Code: Alles auswählen
<link rel="stylesheet" type="text/css" href="/maxs/style_werbung.css?1318857691">
Die Frage, die sich mir jetzt stellt, ist, warum der Stream keine zufällige Zahl (kann auch einfach der Zeitstempel sein, bin mir gerade nicht sicher, kommt aber aufs gleiche hinaus

) dahinter bekommt? Bug oder gewollt? Ich meine, das Fragezeichen ist ja eh schon dort.
Um beim Stream jetzt auch immer eine andere URL zu bekommen, damit der Browser sie nicht aus der Cache nimmt, kann man das mit JavaScript auch ziemlich simple lösen. Wir rufen das Stylesheet nochmal auf und machen dort einfach auch eine zufällige Zahl hin. Dann kann man nach jeder Aktualisierung des Streams (reconnect oder Logout/Login) die Styleänderungen des Streams sofort sehen, ohne dass die Cache im Weg ist.
Dafür nehmen wir unsere "alle_meine_scripts.js"-Datei von oben, und machen eine kleine Änderung daran:
Code: Alles auswählen
var ScriptURLs = ["URL1", "URL2", "URL3", "URL4"];
for (var i = 0; i < ScriptURLs.length; i++) {
document.write("<" + "script type='text/javascript' src='" + ScriptURLs[i] + "?" + Math.random() + "'></script" + ">");
}
document.write('<' + 'link rel="stylesheet" type="text/css" href="/' + chatData[1] + '/style_stream.css?' + Math.random() + '">');
Und die binden wir dann wie oben wieder nach der Grundscriptsammlung ein, wenn wir das sowieso nicht schon gemacht haben:
Code: Alles auswählen
<script type="text/javascript">document.write("<"+"script type='text/javascript' src='http://www.example.net/alle_meine_scripts.js"+"?"+Math.random()+"'></script"+">");</script>
Und schon sind alle Cacheprobleme, sei es Sytleänderungen im Chat selber oder auch Scripts, für immer verschwunden. Da braucht man dann auch nicht mal mehr seine Cache löschen.