[ Web Proxy ]
URL:
Viewing: https://developer.mozilla.org/ja/docs/Web/API/Web_Storage_API/Using_the_Web_Storage_API [Back]  [Original]

API - Web API | MDN

MDN Web Docs

View in English Always switch to English

API

Baseline

20157

API

Storage.getItem() Storage.setItem() 3 colorSetting

js
localStorage.colorSetting = "#a4509b";
localStorage["colorSetting"] = "#a4509b";
localStorage.setItem("colorSetting", "#a4509b");

: API (setItem, getItem, removeItem, key, length)

Web Storage 2

  • (sessionStorage) ()
  • (localStorage)

Window.sessionStorage Window.localStorage ( Window WindowLocalStorage WindowSessionStorage localStorage sessionStorage ) Storage sessionStorage localStorage Storage

localStorage Storage sessionStorage Storage

localStorage

: API

window localStorage localStorage

localStorage QuotaExceededError

js
function storageAvailable(type) {
  let storage;
  try {
    storage = window[type];
    const x = "__storage_test__";
    storage.setItem(x, x);
    storage.removeItem(x);
    return true;
  } catch (e) {
    return (
      e instanceof DOMException &&
      // everything except Firefox
      (e.code === 22 ||
        // Firefox
        e.code === 1014 ||
        // test name field too, because code might not be present
        // everything except Firefox
        e.name === "QuotaExceededError" ||
        // Firefox
        e.name === "NS_ERROR_DOM_QUOTA_REACHED") &&
      // acknowledge QuotaExceededError only if there's something already stored
      storage &&
      storage.length !== 0
    );
  }
}

js
if (storageAvailable("localStorage")) {
  // ! 
} else {
  // 
}

storageAvailable('sessionStorage')

Web Storage Demo

16  2 [16 2 ] localStorage

event output StorageEvent

Event output [Event output ]

:

main.js ()

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

Storage.getItem() bgcolor populateStorage() setStyles()

Storage.getItem()

js
function setStyles() {
  const currentColor = localStorage.getItem("bgcolor");
  const currentFont = localStorage.getItem("font");
  const 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);
}

3

Storage.setItem() () 2

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

  setStyles();
}

populateStorage() 3 setStyles()

onchange

js
bgcolorForm.onchange = populateStorage;
fontForm.onchange = populateStorage;
imageForm.onchange = populateStorage;

Storage JSON.stringify()

js
const person = { name: "Alex" };
localStorage.setItem("user", person);
console.log(localStorage.getItem("user")); // "[object Object]" 
localStorage.setItem("user", JSON.stringify(person));
console.log(JSON.parse(localStorage.getItem("user"))); // { name: "Alex" }

StorageEvent

StorageEvent Storage (sessionStorage )

(events.js ) JavaScript

js
window.addEventListener("storage", (e) => {
  document.querySelector(".my-key").textContent = e.key;
  document.querySelector(".my-old").textContent = e.oldValue;
  document.querySelector(".my-new").textContent = e.newValue;
  document.querySelector(".my-url").textContent = e.url;
  document.querySelector(".my-storage").textContent = JSON.stringify(
    e.storageArea,
  );
});

window Storage URL ()

2 :

HTML
# dom-localstorage-dev
HTML
# dom-sessionstorage-dev

api.Window.localStorage

api.Window.sessionStorage


Web Proxy Viewer  |  New URL  |  Original Page