3

假设我有一个网站 www.example.com,其登录框位于 api.example.com 的 iframe 中。我的问题是:

  1. 是否可以将 cookie 数据从内部 iframe(api.example.com)传递到网站,以便网站知道用户何时登录?
  2. 是否可以在客户端执行此操作,而无需刷新整个页面?用户登录的事实如何传递到网站?

任何适用于 FF 和 IE 6/7 的解决方案都会很棒。

4

2 回答 2

4

您不必在它们之间传递 cookie。不过,您需要将 cookie 写入正确的域。

Response.Cookies("COOKIENAME").Domain = ".example.com"
Response.Cookies("COOKIENAME").Value= "foo"
于 2009-01-18T08:52:42.857 回答
2

通过让服务器将 cookie 域指定为 simple ,可以在两个域之间共享api.example.comcookie 。这使得 cookie 可用于两个子域。www.example.comexample.com

FF3 和 IE8 支持postMessage标准,允许不同域中的窗口(框架)相互通信。但是对于 IE6/7,您需要对服务器进行 AJAX 调用以获取您需要的登录确认信息,但棘手的事情是知道如何触发这样的请求。

于 2009-01-18T08:50:25.967 回答