【问题标题】:Is there a modern sessionStorage alternative that works across subdomains?是否有适用于子域的现代 sessionStorage 替代方案?
【发布时间】:2012-06-20 14:25:39
【问题描述】:

我们最近从 cookie 切换到使用 sessionStorage - 切换的触发器是 IE issues

现在,我们发现 sessionStorage 不能跨子域工作 - www.site.com 的存储与 site.com 的存储是隔离的。

有没有一种现代的选择可以让两者合作?这很容易通过 cookie 完成,但我不想从 sessionStorage 中恢复,或者(喘气)同时使用这两种方法。

【问题讨论】:

  • 您为什么同时使用 ww.site.com 和 site.com?这在各方面都很糟糕。大多数站点只是将所有对 www.site.com 的调用重定向到 site.com。编辑:实际上,看看你的声誉,我猜你已经知道并且有正当理由。
  • 相关:Is there any workaround to make use of html5 localstorage on both http and https?。接受的答案使用 iframe + postMessage
  • @RobW - 很有趣。这可能是解决方案,虽然听起来有点复杂。
  • @PerSalbark - 比如说 blog.site.com 和 site.com,也许还有 search.site.com
  • @ripper234 我最近解决了类似的问题。我是这样工作的:缓存 localStorage(又名 lS)项目的当前值。然后注意“存储”事件 - 在该 lS 域上的任何页面上触发除了在 lS 中设置项目的页面。然后检查触发存储事件的 event.key 是你关心的 lS ,并将 event.newValue 与缓存的值进行比较。通过这种方式,我设法得到它,所以我不在乎打开了多少页面,或者哪些页面设置了值,或者以什么顺序。

标签: javascript cookies local-storage session-storage


【解决方案1】:

这几乎是一种 hack,它并不安全,但它是一个绝妙的技巧。 JavaScript 对象 window.name 可以保存数据字符串,并且即使在加载新页面或切换域时数据也会保留。在此处检查此 SO:

Using window.name as a local data cache in web browsers

【讨论】:

    猜你喜欢
    • 2014-01-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多