我正在为Safari的本地存储写一个简单的值,如果Safari关闭后它将能够读取有问题的值。
有趣的是,我可以使用以下代码将数据写入本地存储:
localStorage.setItem("savedData", JSON.stringify(cookieValue));
但是当我关闭Safari的所有实例并打开一个新实例时,本地存储显示为空。
有人知道为什么会这样吗?
答案 0 :(得分:0)
解决方案相当明显,省略了一些更精细的细节是我的错误;实质上,浏览器试图将安全数据远离不安全数据。
尝试存储数据的页面是http,而尝试检索数据的页面是https。
localStorage与此相同 globalStorage [location.hostname],带 作为范围的例外 HTML5来源(方案+主机名+ 非标准端口)和localStorage 作为存储的实例 反对 globalStorage [location.hostname]正在 StorageObsolete的一个实例。对于 例如,http://example.com不是 能够访问相同的localStorage 对象为https://example.com,但他们 可以访问相同的globalStorage 项目。 localStorage是一个标准 接口,而globalStorage是 非标准。 localStorage是 在Firefox 3.5中引入。
来自Mozilla - DOM Storage
我假设这个概念适用于所有浏览器,那么它只是一个假设。
希望这可以帮助处于相同情况的人。