我正在使用基于 NEW GraphAPI for Auth/Login 的 JS SDK for Facebook。
有人在FB.login()
通过 JS SDK 调用后登录时遇到此问题吗?
问题:在我通过异步调用初始化之后FB.Init()
(因为这一切都包含在一个window.fbAsyncInit
函数中),登录弹出;我登录了,然后弹出窗口刷新显示一个白页,并且弹出窗口保持打开状态并且没有关闭...为什么?我正在等待检查FB.login()
回调中的 response.session 但似乎我永远不会找回它,因为这个弹出窗口似乎只是停留在那里,并且该过程似乎在您登录后就停止了,我只是想出了这个弹出窗口-up 会自动关闭并在回调中向我返回 response.session。为什么弹出窗口不会消失?
我在登录后从弹出窗口中复制了 url,并在下面的 url 中显示为白色,所以看起来响应就在那里,但是为什么那个弹出窗口没有关闭,所以我的回调可以处理响应?
http://static.ak.fbcdn.net/connect/xd_proxy.php#?=&cb=f18fe0b7c66da54&origin=http%3A%2F%2Flocalhost%2Ff3745f32ed63a7a&relation=opener&transport=postmessage&frame=f18adb488566372&result=user_photos&session={%22session_key%22%3A%222.vH4SVCisnh8HJWjEI1Vy_Q__.3600.1280106000-100001379631246%22%2C%22uid%22%3A%22100001379631246%22%2C%22expires%22%3A1280106000%2C%22secret%22%3A%22TH45WFg8I_5r_cOoVIujjg__%22%2C%22access_token%22%3A%22132444323462464|2.vH4SVCisnh8HJWjEI1Vy_Q__.3600.1280106000-100001379631246|q123iPQcKY45xWXtOZ2ebOOZTQQ.%22%2C%22sig%22%3A%22a75e85af2354292bfdcf90b9d319ebf7%22}
我确实注意到,当调用 FB.login() 并且出现登录弹出窗口时,我在 FireBug 中看到了这个错误,说它不喜欢我在 localhost 上进行测试的事实或我猜的东西:
未捕获的异常:[异常...“组件返回失败代码:0x80004005 (NS_ERROR_FAILURE) [nsIDOMLocation.host]”nsresult:“0x80004005 (NS_ERROR_FAILURE)”位置:“JS 框架 :: chrome://smarterwiki/content/smarterwiki.js :: 匿名 :: 第 1225 行“数据:无]
这个错误困扰着我......我需要弄清楚它为什么会出现,我敢打赌我不是唯一一个在本地测试时看到这个的人。我在 Facebook 论坛或其他地方的任何地方都看不到有关在网络上解决此问题的任何信息。我看到其他人有这个问题,但没有解决方案。
所以当你实现你的,你的 Facebook 弹出窗口是在用户登录后关闭还是你需要做一些特别的事情来完成这个过程?
另外,我注意到如果我手动关闭该弹出窗口,然后检查是否生成了该 cookie 以包含我的会话,它不是(fbs_[yourappid]
cookie)。所以看起来有些事情在这里过早地结束了。我的 init cookie: true 所以我想知道这个问题是否是弹出对话框没有关闭是否与我的测试 PC 上没有在客户端创建的 cookie 有关。