2011-01-13 2 views
1

localStorage에서 작업 한 것은 이번이 처음이며 문자열 화중인 json 객체를 저장하려고합니다. 내 홈 페이지 html5 로컬 저장소는 다른 페이지가 아닌 홈 페이지에있는 값만 반환합니다.

, 나는이 경고는 사용자 목록 아무 문제를 뱉어 다음 코드를

 
localStorage.setItem("users",JSON.stringify(userList)); 

alert(localStorage.getItem("users")); 

location.href="test2.html"; 

를 사용합니다.

그런 다음 test2.html에, 나는

 
var userList=JSON.parse(localStorage.getItem("users")); 
    alert(userList.toSource()); 

방화범은 '사용자 목록을 null의'밖으로 뱉어 오류가 있습니다.

string 된 json 개체 대신 'test'문자열을 사용해 보았지만 행운은 없습니다. 또한 JSON.parse를 제거하고 문자열을 반환했습니다. 이것은 또한 작동하지 않았다.

내가 뭘 잘못하고 있니?

+2

홈 페이지와 다른 페이지 사이의 도메인 이름이 같은가요? "http"대 "https"는 어떨까요? – Pointy

+0

예, c : \ 아래에 모두 로컬로 실행되며, 동일한 폴더에서 문제가 발생하면 모두 실행됩니다. 하지만 localhost에서 실행 해보고 차이가 있는지 확인해 보겠습니다. – pedalpete

+1

흠 ... 잘 알다시피 Chrome은 로컬 HTML 파일이 모두 같은 "도메인"에 있는지 여부가 까다로운 편입니다. 어쩌면 파이어 폭스도 까다 롭다. 페이지를 어딘가에있는 서버에 놓고 그 차이가 있는지 확인할 수 있습니까? – Pointy

답변

4

최신 브라우저는 로컬 파일 (즉, "file : //"URL)이 이 아니고이 아니며 적어도 일부 용도로 공통 "도메인"의 구성원으로 간주됩니다. Chrome은 가장 엄격한 것 같지만 HTML5 기능에서 Firefox는 엄격합니다.

누군가가 HTML5 저장소를 사용하는 TiddlyWiki와 같은 도구를 발명한다면 완전히 관련이없는 이유로 다운로드하는 무작위로 다른 HTML 파일을 사용할 수 없기를 바랍니다.

관련 문제