Okay, Kommando zurück.
Ich hab den Fehler gefunden. Dank dir, plan_B.
Der Fehler besteht darin, dass ich beim Erstellen des Cookies folgenden Code benutze:
a = new Date(a.getTime() +1000*60*60*24*365);
document.cookie=teil+'='+status+';expires='+a.toGMTString()+';';
Dabei sind "teil" und "status" Variabeln, die an die Funktion übergeben wurden. teil ist "announceinh" oder "ta". status ist "none" oder "block".
Lasse ich mir danach mit "alert(document.cookie);" alle Cookies ausgeben, bemerke ich, 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. Oder ich entferne es beim Auslesen.
Aber egal, für was ich mich entscheide, ich muss immer ein Leerzeichen durch einen Leerstring ersetzen.
Dafür stellt JavaScript keine Funktion bereit, also googelte ich und fand diesen Code (wenn euer Browser euch umleitet, dann müsst ihr einmal den Zurück-Button klicken. War bei mir so).
Folgendes schrieb ich dann zu der Funktion, die den Cookie setzt/aktualisiert (natürlich habe ich davor die Funktion SuchenUndErsetzen in meinen Code eingefügt):
document.cookie=SuchenUndErsetzen(document.cookie," ","");
Dies blieb ohne Effekt.
Ich möchte schon beim Setzen des Cookies das Leerzeichen entfernen.
Welche Möglichkeiten bieten sich mir noch?
MfG
Tobi