Philipp Hasenfratz: Cookie zernichten - wie?

Beitrag lesen

Halihallo MudGuard

Ist zwar absolut unlogisch, daß document.cookie = ""; nicht das Löschen bewirkt, aber so ist Javascript nun mal ...
finde ich nicht so unlogisch - schließlich erhältst du doch unter document.cookie _alle_ cookies (im gültigkeitsbereich des URLs).
Eben. Wenn ich mit x = document.cookie; alle Cookies in x gespeichert kriege, sollte konsequenterweise x = ""; document.cookie = x; auch alle Cookies löschen. Aber das löscht keinen einzigen.

Ich halte das durchaus für logisch. Schliesslich ist ein Cookie kein
Javascript-String, sondern ein Informationspacket, welches über einen
Namen und einen Gültikeitsraum (URL,Domain) eindeutig definiert ist.
Wenn man einen Cookie löschen will, muss dieser eindeutig festgelegt
werden und expires auf einen vergangenen Zeitpunkt gesetzt sein.

Ein document.cookie="" definiert nunmal keinen Cookie: (Name+URL)
fehlen und deshalb wird auch kein Cookie gelöscht oder geändert.

Wenn document.cookie ein String zugewiesen bekommt, wird dieser
geparsed. Falls keine gültige Cookie-Definition darin gefunden wird,
wird die Zuweisung ignoriert (status quo bleibt erhalten).

Ein Cookie ist gekapselt. Er muss, falls er gelöscht oder geändert
werden soll, eindeutig "angesprochen" werden. Es gibt in diesem
Sinne keine Wildcard-Modification (delete cookie *.* oder so
ähnlich).

Viele Grüsse

Philipp