跨域cookie无效

时间:2013-01-30 19:15:23

标签: javascript cookies browser

我正在尝试从A.com的B.com读取Cookie

为了解决这个问题,我在A.com中添加了script tag从B.com 加载。 这个B.com脚本是我需要的cookie的PHP

B.com/script.php

<? echo 'var mycookie="'.$_COOKIE['myBdotComCookie'].";";?>

A.com页面:

...
 <script src="http://B.com/script.php">
 ...

其他信息:myBdotComCookie域名为B.com

问题

这适用于iOS Chrome,但不适用于Linux或Win Chrome。

问题

这种技术是错误的还是iOS Chrome有错误或Linux和Win Chrome有错误?

更新

在FF上工作正常,但不能在IE8 / 9上工作

1 个答案:

答案 0 :(得分:1)

现在,越来越多的浏览器阻止了第三方Cookie。对于任何需要可靠的东西,你不能再使用它们了。原因是第三方cookie可用于监视用户浏览历史记录。您可以随时在浏览器隐私设置中禁用它们。大多数浏览器默认不这样做,但是例如Safari。显然Chrome上还有一些版本。

如果您需要从不同域上的站点可靠地获取某些数据,您应该查看jsonp请求。它们被jquery抽象化,因此您可以使用与ajax调用相同的api来执行它们。