2011-07-27 149 views
1

我对这个cookie的东西很新颖。我有一个要求,我需要使用JavaScript从其中一个子域(sub.example.co.uk)在TLD(www.example.co.uk)上设置cookie。首先,这可能吗?如果是的话,我该怎么做呢?任何帮助,将不胜感激。在子域上设置TLD上的cookie

感谢, 大号

+1

该规范要求cookie域至少有一个点。所以不,你不能那样做。 – Keith

回答

1

我想你混淆一个TLD的定义。您无法在TLD上设置Cookie。您可以尝试在另一个域上设置Cookie,但浏览器可能会或可能不会接受它(查看P3P标题)。我会将其设置在共享域中。在你的例子中,它将是.example.co.uk,并可用于www.example.co.uk和sub.example.co.uk。

试试这个(未经测试):

document.cookie = "name=value; expires=date; path=path; domain=.example.co.uk"; 
+1

对,我在sub.example.co.uk上,如何在“.example.co.uk”上设置cookie是我的问题。 – lshettyl

+1

我更新了我的答案,以包含一个(未经测试的)示例。 – gpojd

1

你可以做它在服务器端,通过它实际上是一个脚本设置Cookie的主域名加载图像。

所以在sub.example.com的HTML代码添加<img src="http://www.example.com/spacer.php?newcookie=test" />

然后spacer.php你读得到“newcookie”和使用的setcookie(PHP)设置,包括一个间隔图像。

这有点哈克,但它的作品。

+0

不是一点哈克,但无关... –