我一直在尝试使用以下方法设置第三方Cookie:
站点A
<img src="http://www.siteB.co.uk/cookie.php" />
SiteB
<script>
document.cookie = "name=thirdpartytest; expires=07/07/2013; path=/;domain=SiteB.co.uk";
</script>
当我直接访问SiteB/cookie.php时,cookie会如预期般被创建。但是访问SiteA并不会创建任何cookie。
当我使用同样的方法,但使用 PHP 来创建 cookie 时,它可以成功工作。这是否意味着 JavaScript 在这种情况下无法创建 cookie?我想可能是因为没有发送 HTTP content-type headers 来指示 .php 页面是图像。但是似乎在 PHP 版本中不需要这个头部信息即可使代码工作。
有什么想法可以使用 JS 让它起作用吗?这是否可能?例如 Doubleclick 是如何实现的?
供参考:这是成功创建 cookie 的 PHP 代码:
<?php
$CookieName = "my3Pcookie"; // Cookie's name
$CookieValue = "hello, there"; // Cookie's value
$CookieDirectory = "/"; // Cookie directory ("/" for all directories)
$DaysCookieShallLast = 31; // Days before expiration (decimal number okay.)
$lasting = ($DaysCookieShallLast<=0) ? "" : time()+($DaysCookieShallLast*24*60*60);
setcookie($CookieName,$CookieValue,$lasting,$CookieDirectory);
?>