1

我正在为我的网站创建一个类似于 Facebook Connect 的 API。我有一个有效的弹出窗口,如果它与父窗口位于同一域中,则该窗口可以工作。

不过会发生什么,用户将通过从我的服务器中包含一个 JS 文件来合并我的 API。当他们调用登录窗口时,它将从他们的站点打开并允许用户登录我的域。但是,当用户实际登录时,我需要向父窗口发送事件通知!大多数人可能都知道,这不可能发生,因为这些窗口是跨域的。

我想知道当前还有哪些其他解决方案可用于此任务。我知道如果我在两个站点上将 document.domain 设置为相同(即,将 API 客户端的 document.domain 更改为我的域 - 如果可能的话?)然后 windows 可以通信,但我不确定那会是完全安全。如果域可以通信,那么 API 客户端可能会等待用户打开登录窗口,然后在用户输入登录凭据时读取用户的登录凭据。它是这样工作的吗?还是他们只会在一个方向上交流?

我希望有一个相当简单的解决方案。但如果需要,我愿意尝试更复杂的东西。我知道 Facebook 正在这样做,所以我知道这是可能的。提前谢谢各位。

4

1 回答 1

3

一个快速而肮脏的技巧是通过属性发送通知window.name

于 2012-08-28T10:29:40.730 回答