2011-07-27 66 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

不是一點哈克,但無關... –