有两个不同的域:域A和域B。
在域A中,我们对Java代码进行XMLHttpRequest生成唯一的ID。在前端(javascript)中收到后,我们尝试通过使用iframe在域A和B中的cookie中进行设置,以使A和B共享ID值。 (在域A的HTML中,有一个iframe,其src设置为域B的URL。)
document.cookie = "ID=" + response.id + ";expires=Tue, 18 Feb 2087 00:38:15 GMT;path=/;secure";
要启用跨域通信,我们使用以下命令:
但是,Safari不允许我们通过域A的iframe在域B中设置Cookie。
我们不想使用以下方法将用户重定向到域B,然后再重定向到域A:
window.location.replace(Domain B);
window.location.replace(document.referrer);
或者我们也可以在域B中使用一个iframe,将src设置为域A作为替代方案。但是我们想探索其他选择。
我们了解Safari不允许第三方设置cookie,除非根据其安全策略之前已访问过该域。 但是没有人知道在从未访问过目标域(不在缓存中)时按第三域设置cookie的方法吗?
谢谢