【发布时间】: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