Benutzereingaben mit JavaScript lokal speichern
HTML 5 bietet uns die Möglichkeit, mittels des „localStorage” (JavaScript) einfache Daten im Browser zu speichern. Auch wenn man zwischendurch weg surft und dann wieder kommt sind die Daten noch auslesbar.
Demo
Text und den Schlüssel eingeben und auf Speichern klicken, bei einem erneuten Besuch nur den Schlüssel eingeben und auf Lesen klicken.
Quelltext Kopieren ❘ Ausblenden ❘ Zeilen
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(key, data);
}
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
- Responsives Design
- Ob ein großer Monitor, ein Tablet oder Smartphone verwendet wird, das Design der Seite sollte sich automatisch der Größe des Gerätes anpassen.
- Browser-Sprachumschaltung
- Diese Sprachumschaltung zeigt je nach der verwendeten Sprache (deutsch, englisch, ...) im Browser unterschiedlichen Inhalt an.
- RSS-Feed selbst erstellen
- Ein RSS-Feed lässt sich, mit wenigen Codezeilen, einfach selbst erstellen. Diese stellen in erster Linie ein vorzügliches Instrument dar, den Bekanntheitsgrad einer Website zu steigern.
Sortierung localStorage Sitemaps-Protokoll Linkliste Sicherheit CSS-Counter Mimetypen Quelltext Fotoalbum Hover-Effekt MySQL Mehrfachauswahl Zeitfunktionen Datenschutz-Hinweis Lokaler Webserver Key Codes Sprachumschaltung Counter RSS Feed Diashow