storage.local
local
저장소 영역을 표현한다. local
저장소의 항목은 확장이 설치된 기기에 제한된다.
브라우저는 local 저장소에 저장할 수 있는 데이터의 양을 제한한다:
- "unlimitedStorage" 권한이 없으면 크롬은 데이터의 양을 5M로 제한한다.
- Firefox는 버전 56부터 "unlimitedStorage" 권한을 요청할 수 있다. 아직은 저장 용량을 제한하지는 않지만, 앞으로 그렇게 할 것이므로 큰 용량의 저장할 의도라면 지금 "unlimitedStorage" 권한을 요청하는 것이 좋다.
확장이 제거되면, 그것과 연결된 local 저장소는 지워진다.
Firefox에서는 확장을 제거해도 local 저장소를 브라우저가 지우지 않도록 막을 수 있다. "about:config"에서 "keepUuidOnUninstall"와 "keepStorageOnUninstall" 두 브라우저 기본 설정을 true
로 고치면 된다. 이 특징은 개발자가 확장을 테스트하는데 도움을 주려는 것이다. 확장 스스로 이 값들을 바꿀 수는 없다.
이 API는 Window.localStorage
와 비슷하지만, 확장 코드가 확장 관련 데이터를 저장하는데 Window.localStorage
를 사용하지 말 것을 권장한다. 사적이 이유로 사용자가 방문 기록이나 데이터를 지우는 다양한 상황에서 확장이 localStorage API로 저장된 데이터는 지워지지만, storage.local
API로 저장한 데이터는 정확하게 유지된다.
메소드
local
객체는 storage.StorageArea
자료형에 정의된 메소드로 구현되었다:
storage.StorageArea.get()
-
저장소 영역에서 하나 이상의 항목을 가져온다.
storage.StorageArea.getBytesInUse()
-
저장소의 사용된 크기를 바이트단위로 얻는다.
storage.StorageArea.set()
-
저장소에 하나 이상의 항목을 설정한다. 이미 있는 항목은 교체된다. 값을 설정하면
storage.onChanged
이벤트가 발생한다. storage.StorageArea.remove()
-
저장소에서 하나 이상의 값을 지운다.
storage.StorageArea.clear()
-
저장소의 모든 항목을 지워서 비운다.
브라우저 호환성
Example extensions
참고: AcknowledgementsThis API is based on Chromium's
chrome.storage
API. This documentation is derived fromstorage.json
in the Chromium code.