2011-01-13 12 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()); 

を持っているFirebugのは、 'ユーザリストがnull' というエラーを出してくれる。

私はstridified jsonオブジェクトの代わりに 'test'という文字列を使用しようとしましたが、運はありませんでした。私もJSON.parseを削除しようとしましたが、返された文字列を取得するだけです。これも機能しませんでした。

私は何が間違っていますか?

+2

ホームページと他のページの間で、ドメイン名は同じですか?どうすれば "http"対 "https"? – Pointy

+0

はい、すべてがローカルでc:\の下で実行されていますが、同じフォルダであれば問題ありません。しかし、私はlocalhostからそれを実行しようとし、それが違いをもたらすかどうかを見てみましょう。 – pedalpete

+1

ええと...まあ、私は、ローカルのHTMLファイルがすべて同じ "ドメイン"にあるかどうかについてChromeが本当に不安であることを知っています。たぶん、Firefoxは厄介です。ページをどこかのサーバーに置いて、違いがあるかどうか確認できますか? – Pointy

答えて

4

最新のブラウザでは、少なくとも一部の目的で、ローカルファイル(「file://」URL、つまりではなく、)が共通の「ドメイン」のメンバーとみなされると判断しました。クロムは最も厳しいようですが、HTML5の機能ではFirefoxも厳格です。

誰かがHTML5ストレージを使用するTiddlyWikiのようなツールを考案した場合、無関係な理由で他のHTMLファイルをダウンロードすることは望ましくありません。

関連する問題