Information Technology Reference
In-Depth Information
Wenig überraschend kann der Wert auch auf diese Weise wieder ausgelesen
werden:
alert(localStorage.currentTemp);
Befindet sich eine unbekannte Anzahl von Einträgen im localStorage , so be-
währt sich die Methode key aus dem Storage-Interface:
for (var i=0;i<localStorage.length;i++) {
var item =
localStorage.getItem(localStorage.key(i));
alert("Found item "+item);
}
Die Spezifikation sieht vor, dass die Werte von einem beliebigen Typ sein kön-
nen, die aktuellen Implementierungen der Browser speichern aber alle Werte
als Zeichenketten. Um komplexe Datentypen wie Arrays oder Objekte zu spei-
chern, müssen diese vorher in Zeichenketten umgewandelt werden. Mithilfe
der JSON -Bibliothek gelingt das sehr elegant:
JSON.stringify( itemsObject )
Wie viel Speicherplatz der Browser der Webseite zur Verfügung stellen soll,
wird in der Spezifikation nur ungefähr angedeutet. Fünf Megabyte gelten als
Richtwert für den Speicherplatz, der pro Origin (vergleiche dazu Abschnitt 8.2.3,
»localStorage«) verbraucht werden darf. Die aktuellen Browser-Implementie-
rungen halten sich an diese Vorgabe.
8.2.2 »sessionStorage«
Ein Problem bei der Verwendung von Cookies ist, dass das Cookie in direk-
tem Zusammenhang mit der verwendeten Webseite steht und unabhängig vom
Browser-Fenster ist. Das Problem kann in folgendem Beispiel akut werden:
Ein Webshop speichert den gewünschten Einkaufswagen in einem Cookie im
Browser ab. Wenn man während des Einkaufs ein zweites Browser-Fenster
öffnet und in diesem Fenster unter einem anderen Namen einkauft, ändern
sich die Produkte im ursprünglichen Fenster möglicherweise auch.
Während Cookies also über mehrere Fenster hinweg gelten, beschränkt sich
der Gültigkeitsbereich von sessionStorage auf das jeweilige Browser-Fenster,
was in vielen Fällen durchaus wünschenswert ist. Abbildung 8.1 zeigt an einem
kleinen Beispiel den Unterschied zwischen den beiden Verfahren.
Search WWH ::




Custom Search