Storage

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

L'interface Storage de l'API Web Storage donne accès au stockage de session (SessionStorage) ou au stockage local (LocalStorage) pour un domaine donné, vous permettant par exemple d'ajouter, de modifier ou de supprimer des éléments enregistrés.

Si vous voulez manipuler le stockage de session pour un domaine, appelez la méthode Window.sessionStorage. Si vous voulez manipuler le stockage local pour un domaine, appelez la méthode Window.localStorage.

Propriétés

Storage.length Lecture seule

Renvoie un entier représentant le nombre d'éléments contenus dans l'objet Storage.

Méthodes

Storage.key()

Lorsqu'on lui passe un nombre n, cette méthode renvoie le nom de la n-ième clé dans le stockage.

Storage.getItem()

Lorqu'on lui passe le nom d'une clé, cette méthode renvoie la valeur de la clé correspondante.

Storage.setItem()

Lorqu'on lui passe un nom de clé et une valeur, cette méthode ajoute cette clé et cette valeur dans le stockage. Si la clé existe déjà, elle met à jour la valeur.

Storage.removeItem()

Lorqu'on lui passe le nom d'une clé, cette méthode supprime cette clé du stockage.

Storage.clear()

Lorsqu'elle est appelée, cette méthode supprime toutes les clés du stockage.

Exemples

Nous accédons ici à un objet Storage en appelant localStorage. Nous testons d'abord si le stockage local contient des éléments en utilisant !localStorage.getItem('bgcolor'). Si oui, nous exécutons une fonction appelée setStyles() qui récupère les éléments en utilisant Storage.getItem(), et utilise ces valeurs pour mettre à jour les styles de page. Sinon, nous exécutons une autre fonction appelée populateStorage(), qui utilise Storage.setItem() pour régler les valeurs des éléments, puis qui exécute setStyles().

js
if (!localStorage.getItem("bgcolor")) {
  populateStorage();
} else {
  setStyles();
}

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

  setStyles();
}

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);
}

Spécifications

Specification
HTML Standard
# storage

Compatibilité des navigateurs

BCD tables only load in the browser

Voir aussi