Benutzereingaben mit JavaScript lokal speichern

HTML 5 bietet uns die Möglichkeit, mittels des JavaScript: localStorage() einfache Daten im Browser zu speichern. Auch wenn man zwischendurch weg surft und dann wieder kommt sind die Daten noch auslesbar. localStorage() ist von der Domain abhängig, über das die Seite aufgerufen wurde.

Demo



Text und den Schlüssel eingeben und auf Speichern klicken, bei einem erneuten Besuch nur den Schlüssel eingeben und auf Lesen klicken.

QuelltextKopierenAusblendenZeilen

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<!DOCTYPE html>
<
html>
<
head>

<
script>
function 
speichern() {
 var 
key document.getElementById('key').value;
 var 
data document.getElementById('data').value;
 
window.localStorage.setItem(keydata);
}

function 
lesen() {
 var 
key document.getElementById('key').value;
 
document.getElementById('data').value window.localStorage.getItem(key);
}
</
script>

</
head>
<
body>

Text<br>
<
textarea id="data"></textarea> <br>
Schlüssel<input type="text" id="key">
<
input type="button" value="Speichern" onclick="speichern()">
<
input type="button" value="Lesen" onclick="lesen()">

</
body>
</
html>

Die Unterstützung von Browsern ist beindruckend: IE8+, Firefox 3.5+, Safari 4+, Chrome 4+, Opera 10.5+, iPhone 2.0+ und Android 2.0+

Was macht man wenn der Browser kein localStorage() kennt?

Hierzu gibt es eine Browserweiche:

if ('localStorage' in window &&
    window['localStorage'] !== null) {
 ...
}
else {
 ... Cookies, Ajax, ...
}

Datensatz eintragen

window.localStorage.setItem("key", "data");

Gespeichert werden können Zeichenketten, Zahlen, Fließkommazahlen (127.15), Boolsche Werte (true/false) und Arrays dabei geht allerdings das Format verloren.

var ar = new Array("100", "200");
window.localStorage.setItem("key", ar);
console.log(window.localStorage.getItem("key")); // Ausgabe: 100,200

Datensatz auslesen

var inhalt = window.localStorage.getItem("key");

Datensatz enfernen

window.localStorage.removeItem("key");

Entfernt den kompletten Datensatz aus dem lokalen Speicher.

Daten löschen

window.localStorage.clear();

Löscht alle Daten aus dem lokalen Speicher welche von der Domain angelegt wurden.

Anzahl der gespeicherten Elemente

var count = window.localStorage.length;
var keyname = window.localStorage.key(n);

Das Attribut length enthält die Anzahl der gespeicherten Elemente.
Die Funktion key(n) gibt den Namen des n-ten Keys zurück. So können zusammen mit length auch Datensätze unbekannter Größe durchlaufen werden.

Tipps

ToDo-Liste mit JavaScript - Die im Formular eingetragenen Daten per JavaScript: localStorage() im Browser des Benutzers hinterlegen, auslesen und löschen.

Datenschutz-Hinweis über Cookies dauerhaft ausblenden