Probleme mit Netscape 4.75 Cache
Andreas
- browser
0 Markus Thomas0 Andreas0 Thomas Mirke0 Markus Thomas0 Andreas
Hallo,
ich habe das Problem, daß Netscape 4.75 Grafiken, die ich über JavaScript
im Hintergrund lade, nicht aktualisiert, wenn die Seite neu geladen
wird, obwohl ich sowohl Speicher- als auch Festplattencache auf null gesetzt
habe. Mit MS Internet Explorer 5.5 und Opera 5.11 funktioniert es dagegen.
Auch mit '<meta http-equiv="expires" content="0">' (bzw. content="new")
habe ich kein Erfolg. Weiß jemand Rat?
Grüsse, Andreas
Hallo!
Weiß jemand Rat?
Gleichzeitig 'Neu Laden' und 'Shift' drücken.
Gruss Markus
Hallo!
Weiß jemand Rat?
Gleichzeitig 'Neu Laden' und 'Shift' drücken.
Gruss Markus
Das hilft mir leider nicht. Ich habe eine Imagemap über die mit mouseover
die Bilder, die über das Javascript geladen worden sind, gewechselt werden
und eigentlich, wie es der Internet Explorer auch tut, vom Server neu
geladen werden sollten (es handelt sich um dynamisch erzeugte Gifs, die
alle 15 sec aktualisiert werden).
Gruss, Andreas
Hallo Andreas,
das ist ein bekanntes Netscape-Problem. Dazu habe ich eine Lösung in der Formus-Auslese gefunden, die aber leider das Problem nicht vollständig löste, denn css gehen dabei immer noch verloren.
Mit folgendem Ansatz kannst Du das Problem vollständig "ausmerzen":
In der Datei:
if(!window.saveInnerWidth)
{
window.onresize = resize;
window.saveInnerWidth = window.innerWidth;
window.saveInnerHeight = window.innerHeight;
}
Die Funktion resize() kann dort oder in einer externen js-Datei stehen:
function resize()
{
if (saveInnerWidth != window.innerWidth || saveInnerHeight != window.innerHeight)
{
location.replace(document.location.href);
}
}
if(!window.saveInnerWidth)
{
window.onresize = resize;
window.saveInnerWidth = window.innerWidth;
window.saveInnerHeight = window.innerHeight;
}
Die Funktion resize() kann dort oder in einer externen js-Datei stehen:
function resize()
{
if (saveInnerWidth != window.innerWidth || saveInnerHeight != window.innerHeight)
{
location.replace(document.location.href);
}
}
Hallo Thomas,
wenn ich das richtig verstehe, funktioniert dies nur, wenn die Fenstergröße
verändert wird. Das würde mir nicht helfen. Aus irgendeinem Grund lädt
Netscape die Bilder nicht neu, bei neuaufruf der Seite.
Laden tue ich die Bilder mit:
bild=new Array()
bild[1] = new Image();
bild[1].src = " ... ";
usw.
Gruß, Andreas
Hallo,
Du kannst doch eine function schreiben
function preimg(){
bild=new Array()
bild[1] = new Image();
bild[1].src = " ... ";
usw.}
und im body für Netscape schreiben onload="preimg()"
usw., und wenn das nicht klappt weil Netscape
wirklich nicht neu lädt könnte man testen ob
umfangreichere Adressierung sr="www.meine.de/..."
hilft.
Wie ist das eigentlich, kann man vielleicht
im Server-logfile erkennen, fragt der Browser
nach der Datei und kriegt die nicht neu weil sie
angeblich unverändert ist ?
Grüsse
Cyx23
Hallo,
Du kannst doch eine function schreiben
function preimg(){
bild=new Array()
bild[1] = new Image();
bild[1].src = " ... ";
usw.}
und im body für Netscape schreiben onload="preimg()"
usw., und wenn das nicht klappt weil Netscape
wirklich nicht neu lädt könnte man testen ob
umfangreichere Adressierung sr="www.meine.de/..."
hilft.
Habe ich ausprobiert. Dies funktioniert leider nur, wenn ich Speicher- und
Festplattencache auf 0 setze (was bei den meisten wahrscheinlich nicht der
Fall ist), ansonsten das alte Problem.
Wie ist das eigentlich, kann man vielleicht
im Server-logfile erkennen, fragt der Browser
nach der Datei und kriegt die nicht neu weil sie
angeblich unverändert ist ?
Weiß ich leider nicht.
Grüsse, Andreas
Hallo nochmal,
Habe ich ausprobiert. Dies funktioniert leider nur, wenn ich Speicher- und
Festplattencache auf 0 setze (was bei den meisten wahrscheinlich nicht der
Fall ist), ansonsten das alte Problem.
da gibt's vielleicht noch Möglichkeiten, ist natürlich etwas aufwändig alles zu versuchen was irgendwie klappen könnte.
z.B. (nur eine spontane Idee, nicht getestet)document.images[i].reload() einbauen in die function.
Oder -auch nur ein Versuch- wenn das geht falsche unbenutzte Dateiendungen für das Bild verwenden, kann aber Probleme mit Opera geben.
Ansonsten könnte das Bild über eine Seite eingebaut werden (für Netscape z.B. in einem <Layer src=eins.html> die komplett ausgetauscht wird
über eine zweite Datei, also Datei eines mit Bild ruft(ersetzt sich) Datei zwei, die nur wieder Datei eins (und dann hoffentlich mit
aktuellem Bild) lädt, nicht sehr elegant aber könnte m.E. helfen.
Weiß ich leider nicht.
wenn du an Logfiles rankommst sieht man das an den Nummern,
200 ist neu geladen, 304 nicht verändert.
Grüsse
Cyx23
Hallo Cyx23,
nach langem ausprobieren, habe ich dann doch eine Lösung (eigentlich recht
einfach) gefunden. Für Netscape muß der Ladeaufruf der Bilder in die
Funktion die die Bilder wechselt (für MS IE muß dies außerhalb stehen).
Mit location.reload() werden die Bilder dann aktualisiert, auch wenn der
Browser cachen darf.
Grüsse und Dank, Andreas
Hallo!
Da hab' ich Dich wohl falsch verstanden. Dann dürftest Du sowas suchen:
<meta http-equiv="cache-control" content="no-cache">
oder
<meta http-equiv="Pragma" content="no-cache">
Gruss Markus
<meta http-equiv="cache-control" content="no-cache">
oder
<meta http-equiv="Pragma" content="no-cache">
Hallo Markus,
hab ich auch schon versucht, hilft auch nicht.
Gruß, Andreas