Der Internet Explorer und sein Cache-Problem

Status
Nicht offen für weitere Antworten.
Hallo,

dieses leidige Thema wurde wohl schon zu hundertfach angelegt, ich erstelle diesen Beitrag auch nur, da ich eine Lösung gefunden habe, und sie nicht verstehe.

Es ging darum, dass ich eine Passwortabfrage (HTTP-Basic Auth) auf meiner Seite nutze. Loggt ein User 'admin' sich ein, soll ein Button unten auf der Seite erscheinen, der einen Zugang zum Admin-Bereich ermöglicht. Ist es ein anderer Benutzer erscheint dieser Button nicht.

Wenn ich mich jetzt als admin einlogge, die Seite schließe, und ich mich mit einem anderen Benutzernamen anmelde, dann erscheint trotzdem der Button unten auf der Seite. Erst nach einem Reload der Seite war dieser verschwunden. Der Zugang war zwar gesperrt, da auch nachher in den darauffolgenden Seiten der Benutzername geprüft wurde, jedoch ist es trotzdem sehr lästig gewesen, da auch gerade auf der ersten Seite dieser Button erscheint, der da nunmal nichts zu suchen hat, wenn man kein Admin ist.

Im Firefox war alles natürlich kein Problem, dieser hat erkannt, dass sich der Inhalt geändert hat, hat auch, wenn nicht-admin, den Button nicht angezeigt.

Jetzt ging es darum eine Lösung zu finden.

Zuerst habe ich eine neue Seite erstellt, und diese als IFRAME eingebunden. In dieser neuen Seite ist lediglich der Button mit der Abfrage ob admin oder nicht. Der Button erscheint, wenn user=admin. Der IFRAME wurde so eingebunden, dass er sich der Hintergrundfarbe anpasst, es sticht also nicht hervor, dass es sich um einen IFRAME handelt.

Den IFRAME habe ich wiefolgt eingebunden: <iframe src="meinFrame.jsp?zufallszahl" />

Das ? und eine zufällige Zahl (in meinem Fall der aktuelle Timestamp / aktualisiert sich jede Millisekunde), so dachte ich zumindest, machen es möglich, dass der IFRAME ständig neu geladen wird. So habe ich es bei anderen Fällen schon erlebt, und so hat es in den anderen Fällen auch geholfen. Es wird dann in den Temporary Internet-Files eine Datei (z.B.) meinFrame.jsp?1234567891011 angelegt, bei erneutem Aufruf steht dann eine neue Seite in den TI-Files meinFrame.jsp?1234567891012 usw.

Jedoch hat das nicht gefruchtet, und ich habe es wieder ausgebaut.

Einiges googeln hat mich auf die META-TAGS
<meta http-equiv="expires" content="0">
<meta http-equiv="pragma" content="no-cache">
gebracht, schon viel von gehört, funktioniert haben sie dennoch nie.

Naja, man kann es ja mal versuchen - gesagt, getan - eingebunden.

-> Funktionierte nicht, klar, warum auch...

Also einfach mal herumprobiert und zusätzlich zu den zwei META-TAGS noch das ?Zufallszahl wieder in den IFRAME eingebaut.

Und siehe da, so hats funktioniert. Der Inhalt des IFRAME's wurde brav neu geladen, bei erneutem Aufrufen der Seite; keine alten Stände, stets frischer Inhalt.

Ich hoffe evtl. jemandem geholfen zu habe, eventuell kann mir auch jemand die Ursache erklären, was hier jetzt für ein Schlossgeist herum schwirrt. Es bleibt mir alles schleierhaft, freue mich einfach, dass es nun geht.



Mfg Tom
 
Status
Nicht offen für weitere Antworten.
Zurück