域 A 正在 iFrame 中加载域 B。为了让域 B 在 Safari 中设置 cookie(使用“仅允许当前网站”配置),我们必须执行一些操作(用户操作)。但是现在 cookie 没有被发送(到域 B)。
- 域 A 在 iframe 中打开域 b
- 用户单击一个按钮,这将打开一个包含域 B 的新选项卡
- 正在设置 cookie。 Safari 现在设置了来自域 B 的 cookie。
- 在 iframe 中,我们执行 window.location.href="url to domain B"- 未发送 cookie。 如果我在不同的选项卡中浏览到相同的 URL,我确实会看到正在发送的 cookie。
有人也遇到过这种情况吗?有已知的解决方案吗?
最佳答案
在移动广告领域,几年前,当苹果在移动 Safari 上禁用第 3 方 Cookie 时,谷歌 (DFP) 提出了解决方法,通过在页面上创建 iframe 并在那里设置 Cookie 来绕过限制。它工作了一段时间,直到苹果发现并阻止了它。据我所知,没有解决方法可以在移动 Safari 上启用第 3 方 cookie。
关于javascript - Safari 8 第 3 方 cookie 未发送,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31809297/