1

关于这个有几个线程,但我只需要知道如何从 sitea.com 上的 siteb.com 读取 cookie,它在 iframe 上打开 siteb.com,如果这确实是推荐的方式。

根据这篇文章,作者说:

如果 Cookie 设置在 iframe 之外,则可以在 iframe 中读取它们

但我不知道如何实现这一目标。让我更多地解释一下我试图设计的东西,所以也许你可以指出我正确的方向。

siteb.com 是我的网站,用户在这里登录和注册,每次他们这样做时,都会像许多普通的身份验证系统一样设置一个 cookie。

sitea.com 是一个通用站点,我可以在其中插入 html 和 javascript 代码,从我需要的站点(如果存在)读取站点的登录 cookie。我认为 sitea 加载 siteb 上的 iframe 可以解决问题,但同样,我不知道如何访问 iframe 内的 cookie。是否有捷径可寻?

我正在考虑的另一种方法是使用跨域 iframe 通信技术,但它们并不优雅,方式复杂,其中一些在某些浏览器中失败,最强大的那些使用 jquery,但我不想在 sitea 上插入 jquery。

4

1 回答 1

1

这是您需要的:http : //easyxdm.net/ - 在 sitea.com 和 siteb.com iframe 上加载此库。它使用每个浏览器中可用的最快方法使跨域父 iframe 通信在每个浏览器中“正常工作”。(另外,作者https://stackoverflow.com/users/128035/sean-kinsey在帮助任何在图书馆遇到问题的人方面做得非常出色 - 只需检查邮件列表档案)

然后向您的 siteb.com iframe 添加一点点 JavaScript 来读取 cookie 并将它们传递给 easyxdm,然后向 sitea.com 添加一点 JavaScript 以设置 easyxdm(我认为包括创建 iframe)并接收 cookie 值从中。网站上有很多示例可以帮助您入门。

于 2013-04-15T01:04:09.570 回答