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 - jQuery 中的 .bind ('click' ) 和 .click() 有什么区别?

ios - Safari iOS 收藏夹/书签图标未更新 apple-touch-icon.png

java - 在 HttpClient 中保留 session

javascript - java HTTP 503 错误(不是由于服务器过载)

javascript - 如何在数据数组和对象的合并中使用对象分配而不是扩展语法?

javascript - Ionic 2 Toggle 使用 Storage 保存数据

javascript - 项目后面的 QML Shader Effect 模糊

javascript - "Feature detection"让我失望。浏览器检测的案例还是有更好的方法?

CSS图像缩小

javascript - 如何在 Javascript cookie 中存储大数据