写入和读取window.localStorage

时间:2012-10-09 14:59:21

标签: javascript local-storage

我之前在多个窗口中使用localStorage没有任何问题,但由于某些原因,在这个新应用程序中,它根本不起作用。

我有两个页面,PageA和PageB。 PageA在localStorage中设置了一些数据:

var someData = {
    item1: 'foo',
    item2: 'bar'
};
window.localStorage.setItem('someKey', JSON.stringify(someData));

如果我立即尝试通过JSON.parse(window.localStorage.getItem('someKey'));读取数据,则效果正常。

PageA然后调用window.open(PageBURL)打开PageB。在PageB中,当我尝试从localStorage读取值时,我得到的只是null

JSON.parse(window.localStorage.getItem('someKey')); // gives me null

两个页面都具有相同的document.domain值。必须有一些我不知道的愚蠢,有没有人有任何想法要仔细检查?

1 个答案:

答案 0 :(得分:1)

在完整主机域下运行localStorage次运行,而不是javascript document.domain

PageA在"foo.common.net"下运行,document.domain"common.net"

PageB在"bar.common.net"下运行,document.domain"common.net"

如果我将PageA切换为在"bar.common.net"下运行,我可以毫无问题地读取数据。