JavaScript Cookie Funktioniert nicht?

regex9  23.04.2024, 12:08
  1. In welcher Umgebung testest du deine Anwendung?
  2. Wird die Webanwendung über einen Webserver ausgespielt?
Twitchers04 
Fragesteller
 23.04.2024, 12:10
  1. Opera Gx und Microsoft Edge habe ich hierfür benutzt
  2. Sie wird lokal abgespielt

1 Antwort

Wenn das HTML-Dokument nicht über einen Webserver ausgespielt, sondern einfach so im Browser geöffnet wird, ist das Verhalten normal. Cookies werden an eine Domain gebunden, die in diesem Fall einfach nicht existiert.

Lade das Dokument also entweder auf einen Webspace und steuere es über dessen URL im Browser an oder richte dir lokal einen Webserver ein, über den du das Dokument aufrufen kannst.

Für die Einrichtung eines lokalen Webservers gibt es mehrere relativ einfache Lösungen: Zum Beispiel das Softwarepaket XAMPP, EasyPHP oder Laragon. Zum Gebrauch von XAMPP habe ich in diesem Beitrag (zweiter Absatz) schon einmal eine Kurzanleitung gegeben.

Dein obiger Code ist jedenfalls funktional, sofern du allowCookie vor Funktionsaufruf immer auf true setzt und der Cookiewert nicht invalid ist. Wende bestenfalls ein Encoding-Verfahren auf deinen Wert an (Base64 oder URL-Encoding via encodeURIComponent) und berücksichtige (obwohl ich weniger davon ausgehe, dass das ein Problem darstellen sollte), dass ein Cookie maximal 4096 Bytes an Daten aufnehmen kann.