目前,有一个致力于微服务架构的项目。在前端之间,您需要转移一些状态并保存状态,而无需重新启动主页并在不同域之间重定向。
例如::当您首次访问站点domain1.com时,将显示一个弹出窗口,在页面上确认使用cookie。当用户同意条件时,cookie将存储在共享的domain3.com资源上。当访问站点domain2.com时,不应出现此弹出窗口,因为用户已经在domain1.com上同意了这些条款。看起来像这样:
决定使用 iFrame 在其他域上保存Cookie。在测试中发现,给定的方法不适用于Safari浏览器以及IE,Firefox浏览器的隐身模式。这样,它在chrome中效果很好。
我们知道Safari安全策略禁止页面通过iFrame
保存cookie,直到用户不会亲自访问保存cookie的页面为止,这可以通过调用window.popup
来部分解决,但是该解决方案看起来过于有毒,而且在Safari 11.2版本中现在无法正常工作。另外,我们尝试将数据保存在 localStorage 中,但是如果cookie是通过 iFrame 保存的,则与 localStorage 相同的操作不会工作了。
带有代码的示例在github中表示。
提前感谢您的回答。