2012-01-04 118 views
1

我正在开发Firefox扩展并将本地数据保存在localStorage中。 因此,我在本地保存的网页上测试我的扩展。localStorage不保存数据

window.content.localStorage.setItem('name', 'Hello World!'); 

and window.content.localStorage.getItem('name') return correct string。 但是当我重新打开这个测试页面window.content.localStorage.getItem('name')时返回'null'。 为什么?这是因为我使用本地页面?

回答

4

不同的浏览器目前对待localStorage的文件:urls的方式不同。

这意味着如果您只是在您的计算机上创建一个文件并直接打开它,则根据您使用的浏览器,您将得到不同的结果。

我相信这是在Firefox 8中更改的,所以如果您使用8或更高版本,它应该适合您。其他浏览器我不确定。

编辑:Is "localStorage" in Firefox only working when the page is online?似乎证实FF3-8不会如何工作。

+0

IE9和更老的Firefox肯定不允许你在本地主机或文件URL上使用localStorage,铬将所有文件URL作为同一域(截至2011年夏天,也许它已更改),并且Opera将相同的文件夹视为同一域。 Firefox将在FF8中采用Opera的模型afaik。但我没有测试过。 https://bugzilla.mozilla.org/show_bug.cgi?id=507361 – c69 2012-01-04 23:15:55