IE7,8 Bug mit Problem aus iFrames


Warning: WP_Syntax::substituteToken(): Argument #1 ($match) must be passed by reference, value given in /var/www/clients/client1/web22/web/wp-content/plugins/wp-syntax/wp-syntax.php on line 383

Ab und an muss man noch mit iFrames arbeiten, vor allem, wenn man eigene Inhalte auf Facebook Fanseiten zu Verfügung stellen möchte. Mitunter möchte man auch schon mal Daten persistent von einem Tab zum Nächsten beim User speichern, z.B. für eine Sprach- oder Ländereinstellungen. Klar denkt man dann sofort an Cookies.

Wenn man, wie ich, überwiegend mit Chrome oder Firefox testet und den Internet Explorer nur am Schluss zur Überprüfung des Layouts, mit all seinen Tücken, für die letzte Qualitätssicherung hinzu zieht, kann man gerade bei Cookies, die in einem iFrame gesetzt werden, eine Überraschung erleben. Obwohl die Standard-Sicherheitseinstellungen das Speichern des Cookies zulassen müssten, entdeckt man plötzlich ein kleines Warnsymbol in der Statusleiste des IE, mit dem Hinweis, dass der Cookie geblockt wurde. Zuerst dachte ich dann, wird der Cookie in den anderen Browser etwa auch geblockt, aber das kann ja nicht sein, da dort alles einwandfrei funktionierte.

Jedenfalls gibt es beim W3C ein Projekt Namens Platform for Privacy Preferences (P3P). Und dieser quasi Standard des W3C sorgt unter anderem dafür, dass Cookies im IE7 und IE8 nicht wie erwartet funktionieren.

In einem Blog-Eintrag von Adam Young habe ich dann die Lösung (PHP) für das Problem gefunden: http://adamyoung.net/IE-Blocking-iFrame-Cookies

header('P3P:CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"');

Siehe da, nun klappt es auch im IE.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert