javascript - Safari 8 第 3 方 cookie 未发送

标签 javascript iframe cookies safari cross-domain

域 A 正在 iFrame 中加载域 B。为了让域 B 在 Safari 中设置 cookie(使用“仅允许当前网站”配置),我们必须执行一些操作(用户操作)。但是现在 cookie 没有被发送(到域 B)。

  1. 域 A 在 iframe 中打开域 b
  2. 用户单击一个按钮,这将打开一个包含域 B 的新选项卡
  3. 正在设置 cookie。 Safari 现在设置了来自域 B 的 cookie。
  4. 在 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/

相关文章:

javascript - 在 iFrame 中禁用外部内容加载

node.js - 如何使用请求将cookie从nodejs应用程序传递到另一台服务器

javascript - Coinbase API 返回 "product not found"以获得有效的产品 ID

javascript - Bootstrap 确认对话框

javascript - 使用 NodeJS 查找 URL 中的子字符串

javascript - 如何检查我的元素 ID 是否具有焦点?

linux - Apache服务器权限错误

javascript - 在选项卡单击时加载 iframe

java - 不使用 cookie 访问 URL 参数

javascript - Res.cookie 与 document.cookie,它们在安全性方面有什么优势吗?