dedlfix: Cookies-Beispiel funktioniert nicht

Beitrag lesen

Tach!

Das Beispiel in JavaScript/Anwendung_und_Praxis/cookies funktioniert, wenn ich es lokal ausführe.

Sobald es als Beispiel hochgeladen ist, gibt es nur NaN für Zaehler aus. Was könnte das Problem sein?

Das Script geht davon aus, dass der erste Wert im Cookie der Zaehler ist. Das ist aber keine Gesetzmäßigkeit. Und so liest das Script einen falschen Wert, der keine Zahl ist.

Man bekommt sowas raus, wenn man den Debugger in den Entwicklertools anwirft. Breakpoint auf die erste ausgeführte Zeile setzen - in dem Fall die erste Zeile in der Funktion init() - und dann schrittweise durchlaufen und die Maus auf die Variablen halten, um zu sehen, was da jeweils drin ist.

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. 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.

dedlfix.