ChrisB: Leerzeichen in document.cookie entfernen

Beitrag lesen

Hi,

Lasse ich mir danach mit "alert(document.cookie);" alle Cookies ausgeben, bemerke ich,

Na endlich ... betreibst du mal ansatzweise Debugging.

dass der zuletzt gesetzte Cookie (es wird immer nur _ein_ Cookie gesetzt bzw aktualisiert) hintendran noch ein Leerzeichen gesetzt bekommen hat. Das sieht dann so aus:

ta=none; announceinh=block;...
        ^
oder andersrum:

announceinh=block; ta=none;...
                  ^
Also, es gibt nun zwei Möglichkeiten. Entweder ich versuche beim Setzen des Cookies irgendwie das Leerzeichen zu entfernen.

Kannste knicken. Das fuegt der Browser da ein, ohne dass du Einfluss drauf hast.

Oder ich entferne es beim Auslesen.

Da du bereits split() nutzt, um die einzelnen cookiename=cookiewert-Paare zu erhalten, waere es am einfachsten, einfach dort neben dem Semikolon noch ein eventuelles Leerzeichen (oder sonstigen Whitespace, falls das irgendein Browser anders handeln mag) in die Trennzeichenkette mit aufzunehmen, in dem man einen kurzen regulaeren Ausdruck zum Splitten verwendet:

document.cookie.split(/;\s?/);

MfG ChrisB