子域的localStorage范围

时间:2016-01-14 13:29:26

标签: javascript html5 local-storage

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

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

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

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

还有其他建议吗?

1 个答案:

答案 0 :(得分:1)

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

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