Matthias Apsel: Danke, gelöst

Beitrag lesen

Hallo Matthias Scharwies,

Da man sowieso nicht annehmen kann, dass der erste Wert der gesucht ist, muss/sollte man das Cookie-Zerlegen anders gestalten. Erst am Semikolon split()en, dann durch das Array laufen und die einzelnen Elemente am Gleichheitszeichen split()en und ein Objekt (Ersatz für ein assoziatives Array) erstellen.

Du gehst immer noch davon aus, dass der Zähler am Anfang des Cookies steht. Das muss aber nicht sein, zum Beispiel sieht der Cookie bei mir so aus.

"Zaehler=2; vector-nav-p-tb=true; vector-nav-p-Mitmachen=true; vector-nav-p-Schnell.E2.80.91Index=false; charinsert=0"

Nicht unbedingt das, was man erwarten würde.

Nun kann man schauen, ob in diesem Objekt Zaehler enthaltne ist und welchen Wert der hat. Oder einfacher parseInt(cookies.Zaehler) || 0 nehmen. Wenn parseInt 0 oder NaN liefert, kommt die 0 hinter dem || als Ergebnis zurück. So bekommt man immer eine Zahl.

„Nun“ = „Jetzt erst“!

Cookies sind irgendwie sowieso bäh in Zeiten von localStorage. Zum einen, weil Sie nicht um die halbe Welt zum Server geschickt werden und zum anderen, weil man einfache Schlüssel-Werte-Paare hat.

Bis demnächst
Matthias

--
Wenn eine Idee nicht zuerst absurd erscheint, taugt sie nichts. (Albert Einstein)