Hans35: Cookies und ihre Eigenheiten...

Beitrag lesen

Hallo,

vermutlich hast du Probleme mit Wertstart und Wertende:

var Wertstart = document.cookie.indexOf("=") + 1;
var Wertende = document.cookie.indexOf(";");

Das ist unsauber programmiert. Wertstart wird nur richtig gefunden, wenn "theme=" der Anfang der abgespeicherten Zeichenkette im Cookie ist. Das dürfte allerdings bei deinem online-Test der Fall sein, bis du für etwas anderes noch ein Cookie brauchst. Du solltest also für Wertstart stattdessen nach "theme=" suchen.

Dass es aktuell nicht geht, liegt aber vermutlich an Wertende. Ein Semikolon kommt nur, wenn danach im Cookie noch mehr steht, sonst ist einfach Schluß. Zu Hause (offline) hast du sicher vom Testen her noch irgendetwas anderes hinter "theme=1" im Cookie stehen, z.B. könnte der Cookie wegen eines früheren Tippfehlers bei Testen so aussehen: "theme=1;thame=1". Dann funktioniert es, bis die Löschzeit für thame erreicht ist, und dann weiß du nicht, warum es plötzlich (bei dir nach einem Jahr) nicht mhr geht. (Nämlich, weil dann auch das Semikolon gelöscht wird!) Online wird ein ganz neues Cookie angelegt, da ist "theme=1" der einzige Eintrag, es gibt von vorn herein kein Semikolon. Lösung: bei Wertende=-1 (also: Semikolon nicht gefunden) musst du document.cookie.length+1 für Wertende nehmen, dann sollte es klappen.

Gruß
Hans35