files/en-us/web/api/window/sessionstorage/index.md
{{APIRef("Web Storage API")}}
The read-only sessionStorage property accesses a session {{DOMxRef("Storage")}} object for the current {{glossary("origin")}}. sessionStorage is similar to {{DOMxRef("Window.localStorage", "localStorage")}}; the difference is that while localStorage is partitioned by origin only, sessionStorage is partitioned by both origin and browser tabs (top-level browsing contexts). The data in sessionStorage is only kept for the duration of the page session.
sessionStorage is initially a copy of the opener's sessionStorage object. However, they are still separate and changes to one do not affect the other. To prevent the sessionStorage from being copied, use one of the techniques that remove opener (see {{domxref("Window.opener")}}).sessionStorage.A {{DOMxRef("Storage")}} object which can be used to access the current origin's session storage space.
SecurityError
: Thrown in one of the following cases:
file: or data: schemes, for example.Note that if the user blocks cookies, browsers will probably interpret this as an instruction to prevent the page from persisting data.
// Save data to sessionStorage
sessionStorage.setItem("key", "value");
// Get saved data from sessionStorage
let data = sessionStorage.getItem("key");
// Remove saved data from sessionStorage
sessionStorage.removeItem("key");
// Remove all saved data from sessionStorage
sessionStorage.clear();
The following example autosaves the contents of a text field, and if the browser is refreshed, restores the text field content so that no writing is lost.
// Get the text field that we're going to track
let field = document.getElementById("field");
// See if we have an autosave value
// (this will only happen if the page is accidentally refreshed)
if (sessionStorage.getItem("autosave")) {
// Restore the contents of the text field
field.value = sessionStorage.getItem("autosave");
}
// Listen for changes in the text field
field.addEventListener("change", () => {
// And save the results into the session storage object
sessionStorage.setItem("autosave", field.value);
});
[!NOTE] Please refer to the Using the Web Storage API article for a full example.
{{Specifications}}
{{Compat}}