2

我正在开发一个基于 drupal 的网站,用户可以使用 Facebook 登录我的网站。

登录在 IE8、IE9 和最新的 Chrome 和 Safari 中可以正常工作,但在最新的 Firefox 中却不行。

FB.Init() 被配置为使用cookies,并且当在chrome 中登录Facebook 时,一个名为:fbsr_ 的cookie 被正确设置并且一切都按预期工作。它由 Facebook SDK (all.js) 设置,当用户登录时,它反过来在 postMessage 事件中接收数据。

我已经对 all.js 进行了 de-minified 来调试它。在 chrome 和 IE9 中引发了三个 postMessage 事件。在 Firefox 中,不会引发任何 XDM postMessage 事件。

我尝试了不同的 Facebook 帐户、不同的计算机,但由于无法准确确定 postMessage 事件是/应该从哪里引发,所以我一直在调试。

我还注意到 xd_arbiter.php 根本没有在 Firefox 中加载(使用 firebug 的“net”选项卡),而它在 Chrome 中加载了两次。但是,Fb js api 的初始化似乎正确地将 xd_arbiter.php 作为 src 的 iframe 注入到 DOM 中。

firebug 控制台中没有 js 错误。

有什么建议么?

4

0 回答 0