2012-05-17 3 views
2

localstorage에 둘 이상의 키를 저장할 수 있는지 궁금합니다. 예 :로컬 저장소 다중 키 저장소

localStorage.setItem("a_key", a_value); 
localStorage.setItem("another_key", another_value); 

이렇게 할 수 있습니까? 만약 당신이 클라이언트 측에 두 개의 키나 변수를 저장해야하기 때문에 어떤 해결책을 제시 할 수 있습니까?

+0

네, 그렇게 할 수 있습니다. 그런데 왜 스스로에게 시험해 보지 않으시겠습니까? 브라우저의 디버그 콘솔 만 사용하면됩니다. – ubik

+1

@ PedroFerreira 한 번 사용해 보았지만 제대로 작동하지 않았습니다. 아마도 오류가 있었을 것입니다. – Roland

답변

3

예. 여러 키/값 쌍을 로컬 저장소 (및 세션 저장소)에 저장할 수 있습니다. web storage spec (강조 추가)에서 :

각 스토리지 오브젝트는 때때로 항목이라고합니다 키/값 쌍, 의 목록에 대한 액세스를 제공합니다. 키는 문자열입니다. 모든 문자열 (빈 문자열 포함)은 유효한 키입니다. 값은 마찬가지로 문자열입니다.

...

는 길이 속성은 오브젝트와 연관된 목록 현재 본 키/값 쌍의 수를 반환한다.

+0

하나의 질문이지만,이 polyfill을 사용하면 https://gist.github.com/2597130이 될 것입니다. 비난을 저장할 수 있고 그것을 동일하게 검색 할 수 있습니까? 왜냐하면 나는 객체를 다시 얻으려고하기 때문에 두 객체의 배열을 원뿔 모양으로 배열하기 때문에 ... – Roland

+0

@Roland - polyfill이 잘 작동해야합니다. getItem 메소드는 제공된 키와 연관된 값을 리턴해야합니다. 내가 사용하는 경향이있는 polyfill은 [this one] (http://code.google.com/p/sessionstorage/)이지만, 둘 다 같은 방식으로 동작해야합니다. 그러나 웹 저장소 용 폴리필은 완벽하지 않습니다. 그러나 기본 API가 수행하는 저장소 이벤트를 발생시키지 않습니다. 당신이 그것들에 의지한다면, 당신은 현대의 브라우저만을 지원할 수있을 것입니다. –

+0

최근의 브라우저 만 로컬 스토리지를 지원한다는 것을 알고 있지만, 스토리지를 사용할 수없는 경우 폴리 폴리은 쿠키로 돌아갑니다. 글쎄, 나는 똑같이 행동해야한다는 것을 알고 있지만, 데이터를 가져올 때 여전히 다른 것을 얻는다. 내가 저장하고있는 것은'var data = {current_page : 2, total_pages : 4}'이고 내가 얻는 것은'[object Object]'입니다. 왜 그렇게 될까요? – Roland