跨子域使用会话存储

时间:2014-07-31 16:25:37

标签: javascript session-storage

我有两个域domain1.site.com和domain2.site.com,我在domain1.site.com中设置了会话存储,然后无法在其他域domain2.site.com上获取会话存储标签。有没有其他方法可以用来在跨子域导航时识别选项卡?

2 个答案:

答案 0 :(得分:2)

这个问题有点老了,但也许以下内容对其他人有帮助。

有一个名为" Cross Domain Local Storage"的解决方案,它与localStorage和postMessage结合使用。有了这个,您可以使用任何域名存储。我知道有两个项目:

但那不是会话存储。要分隔多个选项卡,您必须生成唯一ID(可能是以毫秒为单位的选项卡创建日期)并将其保存到会话存储中,但仅在会话存储中没有值时才会保存。这样你每个标签就有一个id。您可以使用该ID将数据放入跨域本地存储。

答案 1 :(得分:-4)

正如@PaulS在评论中提到的,你很可能意味着使用localStorage

尽管如此,你仍然受到同源政策的阻碍。

如果您的示例正确,并且两个网站共享相同的顶级域名,例如:

domain1 .example.com
domain2 .example.com

然后,您可以设置document.domain = "example.com";以允许两者共享信息。

有关MDN的更多详细信息:https://developer.mozilla.org/en-US/docs/Web/API/document.domain