쿠키와 같은 역할을 한다.
html 5에서 나온 기능
쿠키와는 다르게 각 윈도우에 독립적인 값을 저장할 수 있다.
여기서 윈도우란. 각 페이지를 보여주는 창이다.
자바스크립트의 window 객체라 생각하자.
자바스크립트로 조작한다.
웹 스토리지의 특징
1. 문자열만 저장 가능
2. 맵 형식의 데이터로 저장
A>종류
- 윈도우에 웹페이지가 로드되면
세션 스토리지와 로컬 스토리지가 자동 생성된다.
1. 세션 스토리지
- 윈도우에 웹 사이트가 로드 될 때 생성됨
- 윈도우마다 세션 스토리지 별도 생성
- 현재 띄워져 있는 탭에서만 유지가 됨
- 로드된 웹사이트의 모든 웹페이지들이 스토리지 공유
(= 다른 웹사이트도 세션 스토리지에 접근 가능)
- 윈도우 닫힐 때 소멸됨
2. 로컬 스토리지
- 윈도우에 상관없이 웹 서버당 하나 생성됨
- 모든 탭과 창에서 공유
- 브라우저를 종료하거나 컴퓨터가 꺼져도 존재
- 같은 오리진(ip,포트,프로토콜)간에서 공유
- 오리진이 다른 웹 사이트는 로컬 스토리지에 접근 불가
B> 제어
storage 인터페이스
- length와 [key: value] 프로퍼티를 가지고 있다.
- 메소드
- key(index)
- setItem(key, val)
- getItem(key)
- removeItem(key)
- cleaer()
예시
-스토리지 지원 확인
if(!window.seseionStorage){
alert('세션 스토리지 없음');
}
- 아이템 저장
sessionStorage.setItem("score","80");
sessionStorage["score"] = '80';
C< 스토리지 이벤트
웹 스토리지 변경 시 발생
window 객체만 이벤트를 받을 수 있다.
1; StorageEvent 객체
프로퍼티 : key : 변화가 발생한 아이템의 키 , clear() 실행시 null
newValue
oldValue: 변화가 발생한 아이템의 이전 값, clear나 새로운 아이템 추가될 때는 null
storageArea : 이벤트 발생한 웹 스토리지 객체
url: 이벤트 유발한 웹 페이지 url
2.이벤트 처리
window.addEventListener('storage',storageEventListner,false);
function storageEventListener(e){
이벤트 처리 루트
}
'웹 > html, css' 카테고리의 다른 글
페이지를 만들 때 팁 (0) | 2021.02.09 |
---|---|
web workers (0) | 2021.02.05 |
크기 조정 (0) | 2021.02.04 |
수평 정렬 (0) | 2021.02.04 |
수직 정렬 (0) | 2021.02.04 |