Um Daten einer Webseite nach dem Neuladen weiter verwenden zu können, kann man verschiedene Wege gehen. Cookies Beispielsweise könnte man verwenden. Wie schauen uns in diesem Tutorial an, wie man JSON-Daten ganz einfach im LocalStorage speichern und wieder laden kann.
Beipiel: Website mit 2 Input, einem Select und einem Textarea-Element
Am Beipiel einer einfachen Website wollen wir uns ansehen, wir man praktisch Daten als JSON speichern und bei einem Neustart der Seite wieder verwenden kann.
Die Seite besteht zunächst natürlich aus einem einfachen HTML-Dokument, mit 2 Input-Elementen (Schriftfarbe und Schriftgröße), einem Select-Element (Schriftart) und einem Textarea-Element.
Ein bisschen Style gibt es natürlich auch.
Es ergibt sich hieraus diese einfache Website:

JavaScript main.js
Natürlich brachen wir noch ein JavaScript, um die eigentliche Funktionalität zu implementieren. Zunächst werden erstmal Funktionen abseits dieses Turtorials umgesetzt, um den Text im Textarea gestaltbar zu machen. Am Ende des Script finden sich schon die Funktionen "load" und "save" um die es anschließend noch gehen wird.
LocalStorage und seine Eigenschaften
Der LocalStorage ist ein Möglichkeit lokal im Webbrowser Daten zu speichern. Dabei stehen etwa 5-10 MB Speicherplatz pro Domain zu Verfügung, was deutlich mehr ist als bei Cookies.
Die Daten bleiben auch nach Schließen des Browsers erhalten, solange sie nicht explizit gelöscht werden.
Der LocalStorage kann mit Hilfe einer sehr einfachen JavaScript-API, mit nur wenigen Funktion verwendet werden.
Es können unter einer Bezeichung nur Strings, also Zeichenketten, gespeichert werden. Um Objekte zu speichern, müssen diese serialisiert werden.
Der Zugriff auf den Speicher kann nur innerhalb derselben Domain erfolgen, es gibt keine domänenübergreifende Nutzung.
LocalStorage ist daher besonders nützlich für:
- Speichern von Benutzereinstellungen
- Caching von Anwendungsdaten
- Offline-Funktionalitäten
- Zwischenspeichern von Formulareingabe
JavaScript-Object und JSON
Zuerst einmal müssen wir die Frage klären, in welcher Form wir die Daten speichern und verwenden wollen. Hier bietet sich ein JavaScript-Object gut an.
Ein JavaScript-Object speichert Daten mit einer dazugehörigen Bezeichnung, Schlüssel oder Key genannt. In ein JS-Object können einfache Werte, aber auch Arrays und andere Objekte gespeichert werden. Hier ein Beispiel für unseren Anwendungsfall mit Bespieldaten:
Bleibt noch die Frage was JSON ist? JSON bedeutet JavaScript Object Notation. Es ist drückt also ein JavaScript-Object als Text aus.
Man kann mit den Funktionen "JSON.parse" und "JSON.stringify" ganz einfach JSON in JavaScript-Objekte und andersrum umwandeln. Das JSON vom obigen Objekt würde dann so aussehen:
Daten der Seite im LocalStorage speichern
Wir wollen mit dem obigen Hintergrundwissen nun also die Funktion "load" implementieren. Dazu gehen wir schrittweise so vor:
Wenn die Seite nun genutzt wird, werden bei einer Änderung der Daten, diese immer aktuell im LocalStorage gespeichert. Das lässt sich in der Entwicklerkonsole (F12) einfach prüfen.

Bei Seitenstart Daten aus LocalStorage laden und verwenden
Die Funktion "load" wird schon jetzt bei Seitenstart aufgerufen. Wir müssen sie noch implementieren und aus dem LocalStorage die zuletzt verwendeten Daten wieder herstellen.
Wir sind fertig! Natürlich, man könnte hier noch einiges optimieren, beim Laden wird durch die Nutzung der Set-Funktionen sehr häufig unnötig gespeicht. Es funktioniert aber auch jetzt schon, dass bei jedem Neuladen der Seite, die zuvor verwendeten Settings wiederhergestellt werden.
Das ganze Projekt als Download
Du möchtest das Tutorial-Projekt komplett als Download? Kein Problem, für Patreon-Unterstützer steht das Projekt auch als Download bereit:
Download via Patreon