我必须从域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标头,它也可以在IE6中使用。
有什么办法可以使它在Safari中工作吗?
来自Safari Developer FAQ:
Safari Developer FAQ
Safari附带了一种保守的cookie策略,该策略将cookie写入限制为仅用户选择的页面(“导航到”)。此默认的保守策略可能会使尝试编写cookie并失败的基于框架的站点混乱。
我没有办法解决这个问题。
如果值钱,如果您使用<script>附加方法,Chrome也不会设置cookie ,但是如果您<img使用相同的来源隐藏了>,则Chrome会与其他浏览器一起使用(再次是Safari)
<script
<img