【问题标题】:Firefox localStorage how to access it across all tabs?Firefox localStorage 如何跨所有标签访问它?
【发布时间】:2013-10-08 03:07:11
【问题描述】:

我只关心 Mozilla 对 localStorage 的使用。当我将字符串存储到 localStorage

示例:

在标签 A 上,我插入:

localStorage["item"] = "hello";

在标签 B 上,我请求使用相同的项目

localStorage.getItem("item");

如果我在选项卡 A 中设置值,由于某种原因,我无法在选项卡 B 中访问此项目,但是我之前在 Google Chrome 中使用过相同的代码,并且它已显示 Global 特性.. 为什么它在 Mozilla Firefox 中不能以同样的方式工作?其他 stackoverflow 线程已经说过使用 globalStorage 但根据文档,这是一种已弃用的方法。

谢谢,

艾登

【问题讨论】:

  • 标签 A 和标签 B 是否对同一来源的页面打开? (即相同的协议和域名)?
  • 嘿,他们是不同的起源。谢谢

标签: javascript html firefox


【解决方案1】:

您可以尝试将localStorage 值设置为:

localStorage.setItem("item", "hello");

localStorage.item = "hello"

根据规范,具有相同来源的所有文档共享相同的localStorage 数据(无论实际访问localStorage 的脚本的来源如何)。他们可以读取彼此的数据。他们可以覆盖彼此的数据。但是具有不同来源的文档永远不能读取或覆盖彼此的数据(即使它们都运行来自同一第三方服务器的脚本)。

这意味着您应该能够从不同的选项卡访问相同的localStorage 日期。

【讨论】:

  • 嗯,它是如何在同一浏览器中跨标签的 chrome 中工作的.. 但 Mozilla 似乎只是标签特定的.. 例如如果我去 youtube 并提醒 localStorage 的所有内容,它只显示 youtube 特定的并忽略我在其他选项卡上设置来自其他域的变量的事实。
  • @Aiden 我在 Firefox 中也遇到了同样的问题。您找到解决方案了吗?在 chrome 中一切正常。
  • @mrudult 我刚刚为一个用户追踪到了这个 - 看起来它可能是由bugzilla.mozilla.org/show_bug.cgi?id=1453699引起的
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多