--- title: Window.sessionStorage slug: Web/API/Window/sessionStorage tags: - API - Property - Reference - Storage - Window - WindowSessionStorage - 세션스토리지 translation_of: Web/API/Window/sessionStorage ---
sessionStorage
읽기 전용 속성은 현재 {{glossary("origin", "출처")}} 세션의 {{domxref("Storage")}} 객체에 접근합니다. sessionStorage
는 {{domxref("Window.localStorage", "localStorage")}}와 비슷하지만, localStorage
의 데이터는 만료되지 않고, sessionStorage
의 데이터는 페이지 세션이 끝날 때 제거되는 차이가 있습니다.
sessionStorage
를 생성합니다.sessionStorage
안의 객체를 초기화합니다.sessionStorage
에 저장한 자료는 페이지 프로토콜별로 구분합니다. 특히 HTTP(http://example.com)로 방문한 페이지에서 저장한 데이터는 같은 페이지의 HTTPS(https://example.com)와는 다른 sessionStorage
에 저장됩니다.
키와 값은 항상 각 문자에 2바이트를 할당하는 UTF-16 {{domxref("DOMString")}}의 형태로 저장합니다. 객체와 마찬가지로 정수 키는 자동으로 문자열로 변환합니다.
myStorage = window.sessionStorage;
현재 {{glossary("origin", "출처")}}의 세션 저장 공간에 접근할 수 있는 {{domxref("Storage")}} 객체.
SecurityError
file:
이나 data:
스킴을 사용했을 때 발생할 수 있습니다. 예외의 예를 들자면 사용자가 특정 출처의 지속성 데이터를 거부하도록 브라우저를 설정하는 경우가 있습니다.아래 코드는 현재 출처의 세션 {{domxref("Storage")}} 객체에 접근한 후, {{domxref("Storage.setItem()")}}을 사용해 항목 하나를 추가합니다.
sessionStorage.setItem('myCat', 'Tom');
다음 예제는 텍스트 필드의 문장을 자동 저장하여 브라우저가 의도치 않게 재시작 되었을 경우 자동으로 텍스트 필드의 내용을 저장된 문장으로 복구하여 작성한 내용이 사라지지 않게 합니다.
// 추적할 텍스트 입력 칸 가져오기 let field = document.getElementById("field"); // 자동저장 값이 존재하는지 판별 // (의도치 않게 페이지를 새로 불러올 경우에만 발생) if (sessionStorage.getItem("autosave")) { // 입력 칸의 콘텐츠 복구 field.value = sessionStorage.getItem("autosave"); } // 텍스트 입력 칸의 변화 수신 field.addEventListener("change", function() { // 결과를 세션에 저장 sessionStorage.setItem("autosave", field.value); });
참고: Web Storage API 사용하기 문서에서 전체 예제를 살펴보세요.
Specification | Status | Comment |
---|---|---|
{{SpecName("HTML WHATWG", "webstorage.html#dom-sessionstorage", "sessionStorage")}} | {{Spec2("HTML WHATWG")}} |
{{Compat("api.Window.sessionStorage")}}