--- title: Storage slug: Web/API/Storage translation_of: Web/API/Storage ---

{{APIRef("Web Storage API")}}

Die Storage-Schnittstelle der Web-Storage-API ermöglicht den Zugriff auf einfache Schlüssel-Wert-Datenbanken des Browsers, in denen Daten mit einer Domain verknüpft gespeichert werden können.

In {{domxref("Window.sessionStorage")}} gespeicherte Daten verfallen mit Ablauf der Sitzung (in der Regel dem Schließen des Browsers), {{domxref("Window.localStorage")}} speichert die Daten hingegen grundsätzlich zeitlich unbegrenzt.

Eigenschaften

{{domxref("Storage.length")}} {{readonlyInline}}
Anzahl der in diesem Storage-Objekt gespeicherten Datensätze.

Methoden

{{domxref("Storage.key()")}}
Gibt unter Angabe einer Zahl n den Schlüssel des n-ten Datensatzes zurück.
{{domxref("Storage.getItem()")}}
Gibt den zum Schlüssel gehörigen Wert zurück.
{{domxref("Storage.setItem()")}}
Speichert den gegebenen Wert im Storage-Objekt unter dem gegebenen Schlüssel. Ist unter diesem Schlüssel bereits ein Datensatz vorhanden, wird sein Wert mit dem gegebenen überschrieben.
{{domxref("Storage.removeItem()")}}
Löscht den Datensatz des gegebenen Schlüssels.
{{domxref("Storage.clear()")}}
Löscht sämtliche Datensätze des Storage-Objekts.

Beispiele

In diesem Beispiel wird auf das Storage-Objekt localStorage zugegriffen.

Zuerst wird mit !localStorage.getItem('bgcolor') geprüft, ob das Objekt keinen Datensatz namens bgcolor enthält. Ist der Datensatz bgcolor nicht vorhanden, wird populateStorage() aufgerufen, um Werte aus der Seite auszulesen und mittels {{domxref("Storage.setItem()")}} im Storage-Objekt zu speichern.
Anschließend folgt der Aufruf der Funktion setStyles(), die alle Daten mittels {{domxref("Storage.getItem()")}} ausliest und die Darstellung der Seite entsprechend ändert.
 

if(!localStorage.getItem('bgcolor')) {
  populateStorage();
}
setStyles();

function populateStorage() {
  localStorage.setItem('bgcolor', document.getElementById('bgcolor').value);
  localStorage.setItem('font', document.getElementById('font').value);
  localStorage.setItem('image', document.getElementById('image').value);
}

function setStyles() {
  var currentColor = localStorage.getItem('bgcolor');
  var currentFont = localStorage.getItem('font');
  var currentImage = localStorage.getItem('image');

  document.getElementById('bgcolor').value = currentColor;
  document.getElementById('font').value = currentFont;
  document.getElementById('image').value = currentImage;

  htmlElem.style.backgroundColor = '#' + currentColor;
  pElem.style.fontFamily = currentFont;
  imgElem.setAttribute('src', currentImage);
}

Anmerkung: Dieses Beispiel kann unter Web Storage Demo ausprobiert werden.

Spezifikationen

Spezifikation Status Kommentar
{{SpecName('Web Storage', '#the-storage-interface', 'Storage')}} {{Spec2('Web Storage')}}  

Browserkompatibilität

{{CompatibilityTable}}

Feature Chrome Edge Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
localStorage 4 {{CompatVersionUnknown}} 3.5 8 10.50 4
sessionStorage 5 {{CompatUnknown}} 2 8 10.50 4
Feature Android Edge Firefox Mobile (Gecko) IE Phone Opera Mobile Safari Mobile
Basic support 2.1 {{CompatVersionUnknown}} {{ CompatUnknown }} 8 11 3.2[1]

[1] Seit iOS 5.1 speichert Safari Mobile in localStorage abgelegte Daten im Cache-Verzeichnis. Dieses wird in unregelmäßigen Abständen vom Betriebssystem teilweise geleert, spätestens jedoch, sobald nur noch wenig Speicherplatz zur Verfügung steht.
Desweiteren verhindert der private Modus von Safari Mobile jegliche Nutzung von localStorage.

Die Speicherkapazität von localStorage und sessionStorage. unterscheidet sich von Browser zu Browser (siehe diese detailierte Aufstellung der Speicherkapazitäten für verschiedene Browser).

Siehe auch

Using the Web Storage API