Thread Session Cookie und IE7 (21 answers)
Opened by frankes at 2009-12-29 10:26

frankes
 2009-12-29 10:26
#129745 #129745
User since
2005-04-02
140 Artikel
BenutzerIn

user image
(nehmt dies als Feststellung, Kuriosum oder helft mir wieder an die Welt zu glauben.)

Ich habe mich ja daran gewöhnt, dass ich für die IEs viel Zeit benötige, bis meine Websites auch auf diesen "richtig" dargestellt werden. Neben dem Design waren es auch immer mal wieder die Cookies die den MS Browsern nicht passten.
Nun bin ich mal wieder bei den Cookies für den IE7 über ein Problem gestolpert.

Kurz, ein Session Cookie sollte mittels CGI.pm gesetzt werden, dessen Wert sich im Verlauf einer Browser-Sitzung auch mal ändert.
Leider nahm der IE7 die Änderung des Wertes durch erneutes Senden des Cookies mit gleichen Namen und neuen Wert scheinbar nicht an. Brav überprüfte jedes Mal mein Script, ob der Wert geändert wurde und brach gegebenenfalls die Ausführung beim IE7 in der Annahme ab, dass kein Cookie gesetzt werden konnte.
IE6, FF, Opera und Konqueror arbeiteten weiter.

Nach langem Experimentieren sahen meine roten Augen schließlich das Problem:
Der IE7 scheint bei einer Änderung des Cookie Wertes bei der ersten Rückmeldung nicht einfach den neuen Wert zu senden, sondern eine Kombination aus altem und neuem Wert.
Anstatt einfach den neuen Wert enthält die erste Rückmelung des IE7 ein
Quote
alterWert,Cookiename=neuerWert

(Wohlgemerkt, nur bei der ersten Rückmeldung nach der Änderung)

Fragen über Fragen:

Jetzt ist es natürlich kein Problem, mit einem Workaround diese Besonderheit zu beachten.

Aber warum musste MS dies ändern? - Wieder aus einer bestehenden Norm ausbrechen? Und warum findet man dazu nichts im Netz? - Bin ich der einzige, der dieses Problem hat?

Als eingefleischter Linuxer weiß ich leider nicht, ob dieses Phänomen auch beim IE8 auftritt. - Ist beim IE8 die Rückmeldung in einem anderem Format?

Und vielleicht die wichtigste Frage:
Gibt es bereits eine Lösung bei diesen Rückmeldungen gleich den aktuellen Wert geliefert zu bekommen?
Zum Einsatz kommt bei mir das CGI Modul
Code (perl): (dl )
$value = $Cgi->cookie("NameCookie")



Danke für deine Zeit.

View full thread Session Cookie und IE7