【问题标题】:Scope of localStorage for subdomains子域的 localStorage 范围
【发布时间】:2016-04-19 20:32:12
【问题描述】:

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

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

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

正如here 所指出的,解决此问题的方法是将 iframe 与 postMessage 结合使用。但在我看来,这是解决问题的笨拙和不雅的方法。使用 cookie 也不行,JSON 对象太大了。

还有其他建议吗?

【问题讨论】:

  • 不确定,但Access-Control-Allow-Origin http-header 可能会对您有所帮助
  • 嗯,你总是可以简单地通过 Websocket 或 ajax 检索这个对象...
  • 看来我对 CORS 的看法错了:stackoverflow.com/questions/20190114/…

标签: javascript html local-storage


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2012-03-05
    • 2012-04-02
    • 2011-03-25
    • 1970-01-01
    • 2011-04-30
    • 1970-01-01
    • 2016-03-13
    相关资源
    最近更新 更多