子域的本地存储范围

Scope of localStorage for subdomains

本文关键字:存储 范围      更新时间:2023-09-26

LocalStorage 变量可用于从同一来源检索的任何页面。这意味着一个页面可以访问由共享相同方案(例如http,https),域(例如,www.example.com)和端口(例如,80,443,8080)的任何其他页面设置的本地存储变量。

它保留浏览器,窗口和选项卡,但不幸的是,这不适用于不同的域或子域。这种级别的隔离确保我们不会意外修改其他第三方站点可能已经在存储中设置的任何数据。

但是在我们的例子中,我们需要能够访问一些由子域持久化的大型变量(JSON对象)。

如此处所指出的,解决方法是将 iframe 与 postMessage 结合使用。但在我看来,这是一个笨拙和不优雅的问题解决方案。使用 cookie 也无法完成这项工作,JSON 对象太大了。

还有其他建议吗?

您在original post中提供的解决方案已在这种情况下广泛实施和使用,您可以尝试以下一些其他alternates

  1. http://pablotron.org/?cid=1557
  2. https://github.com/ofirdagan/cross-domain-local-storage