2010-04-18 28 views
0

嗨,我有一个Web应用程序,我在我的网页上种植一个cookie。然后,用户进入到另一个页面,并且从该网页脚本调用我的网页,这样的:何时提供cookie?

<script type="text/javascript" src="http://domain.com/page.aspx?id=6" ></script> 

但是当它调用我的网页,为什么不能我不能访问饼干吗?以及如何解决它?

请注意,这个问题是关于: Javascript and webshop tracking/affiliate across websites, how to do?

编辑 “其他”页面上完全不同的领域。我的代码是在ASP.NET,但据我所知它同样适用于所有语言:

种植饼干(Default.aspx的):

protected void Page_Load(object sender, EventArgs e) 
    { 
     Response.Cookies["affiliate"].Value = "InnovationPartner"; 
     Response.Cookies["affiliate"].Expires = DateTime.Now.AddDays(7); 
     ... 
    } 

检索的cookie(往返后) (Collect.aspx):

protected void Page_Load(object sender, EventArgs e) 
    { 
     bool affiliate = Request.Cookies["affiliate"] != null ? true : false; 
     ... 
    } 
+0

您需要更加具体。你的意思是什么“页面”?什么“另一页”?它是相同的域还是不同的?重现代码在哪里? – 2010-04-18 09:19:49

+0

请参阅我的编辑,希望这解释它更详细一点 – 2010-04-18 09:25:07

回答

0

许多浏览器选项来放置在“第三方cookie”,这是你的cookies是什么引起的其他网站上的<script>标签要求的限制。

特别是对于IE的默认设置,您需要提供一个P3P策略。见例如。 this question

+0

...但我设置我的Cookie: http://www.mycomain.com/default.aspx - >用户单击一个链接,并重定向到另一个页面(网店) - >当用户完成订单我链接回我的域名(JavaScript): http://www.mydomain.Collect.aspx 而它的mydomain.com我设置和检索饼干,无处可去。但是,当我尝试检索我的cookie它不存在(返回null) – 2010-04-18 17:15:58

+0

..我的意思是,它不是一个真正的第三个pary cookie,当它没有用在网上商店的域名? – 2010-04-18 17:22:21

+0

当一个资源(脚本,样式,图像,iframe)从一个主机名的网页中获取时,这是一个第三方cookie,该主机名与资源的主机名不匹配。 – bobince 2010-04-18 20:11:57

0

当从不同的域调用时,必须实现P3P签名。
无论如何,您必须始终观看HTTP日志来跟踪Cookie流程