javascript - 在 Safari 中设置跨域 cookie

标签 javascript safari cookies cross-domain cross-site

我必须从域 B.com 调用域 A.com(它使用 http 设置 cookie)。 我在域 B.com 上所做的只是 (javascript):

var head = document.getElementsByTagName("head")[0];
var script = document.createElement("script");
script.src = "A.com/setCookie?cache=1231213123";
head.appendChild(script);

这会在我测试过的所有浏览器(Safari 除外)的 A.com 上设置 cookie。 令人惊讶的是,即使没有 P3P header ,这也适用于 IE6。

有什么方法可以在 Safari 中使用它吗?

最佳答案

来自 Safari Developer FAQ :

Safari ships with a conservative cookie policy which limits cookie writes to only the pages chosen ("navigated to") by the user. This default conservative policy may confuse frame based sites that attempt to write cookies and fail.

我找不到解决这个问题的方法。

如果值得的话,Chrome 也不会在您使用 <script 时设置 cookie。 > 添加方法,但如果你有一个隐藏的 <img > 使用相同的源代码,除了 Safari 之外,Chrome 还可以与其他浏览器一起工作

关于javascript - 在 Safari 中设置跨域 cookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/408582/

相关文章:

javascript - Javascript 中的事件对象,查找信息时遇到问题

javascript - Pusher - 存在 channel 中的用户身份验证

html - 具有 href 属性的 Safari anchor 标签没有获得焦点?

javascript - 使用 safari 在 Canvas 中绘制包含 html 的 svg

php - 如何获得 cookies

javascript - 使用 javascript 修改 css 在屏幕上快速闪烁然后返回到原始 (help)

ios - Mobile Safari (10.3.1) DateTime-Local "Enter a Valid Value"错误

node.js - 如何在 express 权限中使用 "cookie-parser"以及 socket.io 中的 cookie 在哪里?

javascript - bootstrap 会干扰其他 JavaScript 吗?就像设置 cookie(); 一样?

javascript - 您可以动态地将局部变量添加到函数中吗?