html5本地存储只返回主页上的值,而不是其他页面

时间:2011-01-13 19:48:04

标签: javascript html5 local-storage

这是我第一次使用localStorage,我正在尝试存储一个json对象,我将其作为字符串化(ing)。

在我的主页上,我使用以下代码

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吐出'userlist is null'错误。

我尝试使用字符串'test'代替strigified json对象,但没有运气。我也尝试删除JSON.parse并只返回返回的字符串。这也行不通。

我做错了什么?

1 个答案:

答案 0 :(得分:4)

现代浏览器已经决定将本地文件(换句话说,“file://”URL)而不是全部视为共同“域”的成员,至少出于某些目的。 Chrome似乎是最严格的,但也许在HTML5功能中,Firefox也同样严格。

有点意义:如果某人发明了某种类似TiddlyWiki的工具,使用HTML5存储,你不会希望它的内容可以被你下载的一些随机的其他HTML文件用于完全无关的原因。