所以我玩弄与周围的HTML 5和localStorage的,我注意到,当我在本地主机(即运行在Firefox的页面我的价值观只能获得存储http://127.0.0.1:8000/test/index。 HTML ),但是当我运行该文件在本地(文件:/// C:/test/index.html)我的价值没有得到保存。 Safari 4中有两种设置没有问题。 因此,没有任何人知道,如果这是由设计- > DOM存储在Mozilla开发者中心
(火狐2允许访问存储对象在域层级比当前文档中。这是不再在Firefox 3允许的,出于安全原因,更高。此外,该提议除了HTML 5已经从有利于HTML 5规范除去的本地存储,这是在Firefox 3.5实现。)
或者,如果有解决方法?
我不知道,因为离线存储只在网上的作品听起来很愚蠢:P
如果有人想知道,代码是因为它得到简单:
function save()
{
localStorage.setItem('foo','bar');
}
function load()
{
var test = localStorage.getItem('foo');
alert(test);
}
这似乎是一个错误: 错误507361 - localStorage的不工作文件:///文件
希望很快就修好了!
2011-09-13:错误修正,在 'Mozilla8' 实现。 我用Firefox 8测试这和现在的工作。
那么,链接文档中说
localStorage的是一样的globalStorage的[location.hostname],具有被限定为某个HTML5原点除外(方案+主机名+非标准端口)
我不想要求我明白100%是什么意思,但在括号中的位将表明URL需要有一定的性能 - 尤其是方案和主机名是什么火狐认为的HTML 5的起源。 我怀疑file:///
的URL不匹配这一点,而你http://127.0.0.1/
一样。
编辑 :看看W3C的起源属性的描述 ,第7步看起来像它可能会造成问题。 根据如何localStorage
处理得以实施,可以期待一个3元组由步骤12返回的,但对于一个file://
URL中的返回值可以是任何东西。
所以,呃,我想这是由设计。 细想起来,有机会,这是不是真的由设计; 没有理由localStorage
不应该为工作file://
网址。 它可能只是一个不匹配的另一预期特定浏览器实现的输出的情况。
至于解决方法,会globalStorage
你想要的这里不能做?