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