如何在用户连接后关闭Facebook弹出登录窗口?

时间:2009-10-22 22:22:08

标签: javascript facebook

以下是我的代码。出于某种原因,在用户登录到小弹出窗口后,小窗口将重定向回到'/',并在URL末尾有很多会话JSON垃圾。

我如何制作以便关闭小窗口,并且我的父窗口会刷新?

<script src="http://static.ak.connect.facebook.com/js/api_lib/v0.4/FeatureLoader.js.php/en_US" type="text/javascript"></script>

<fb:login-button v="2" onlogin='window.location("/test");' size="medium">Connect</fb:login-button>
<script type="text/javascript">FB.init("XXXXX",'/xd_receiver.htm');</script>

6 个答案:

答案 0 :(得分:3)

我刚刚解决了类似的问题,当您使用Facebook登录弹出窗口登录并关闭时,页面没有刷新。

我的Facebook APP配置不正确。只需转到Facebook中的应用程序设置并指定正确的站点URL(在“网站”部分下)。如果您在本地测试它,可以放置http://localhost/

希望这有帮助!

答案 1 :(得分:2)

页面重新加载

尝试为reloadIfSessionStateChanged设置FB.init标记。例如,

FB.init(  "myAPIkey", 
          "path/to/xd_receiver.htm",
          {"reloadIfSessionStateChanged": true}
       );

来自Facebook API

  

reloadIfSessionStateChanged

     

bool - 如果值为true,则为Facebook   将监控会话状态的变化   并重新加载当前页面   会话状态更改。这个选项是   方便实现   需要重新加载页面   会话状态改变以便   从服务器生成不同的内容   侧。

有关详细信息,请查看http://developers.facebook.com/docs/?u=facebook.jslib.FB.Facebook.init

弹出窗口未关闭

我发现如果您的path/to/xd_receiver.html不正确,或者您的Connect按钮的onlogin功能未定义,您的弹出窗口可能会出现问题,请务必仔细检查那些。

希望有所帮助!

答案 2 :(得分:1)

您可以这样使用onlogin属性:

onlogin="document.location.href=document.location.href;"

这将由开启者执行(刷新页面) 如果删除onlogin属性,弹出窗口也将关闭,但下面的页面不会刷新。

我写了一篇关于将社区与facebook connect集成的教程,你可以阅读它here

答案 3 :(得分:0)

您的代码中似乎有一个随机的'h'。这可能会搞乱JS的功能吗?

FB.init("XXXXX",'/xd_receiver.htm'h);
                                  ^

答案 4 :(得分:0)

我的弹出窗口没有关闭(发布到Feed时),因为我没有在正确的位置使用channel.html文件。在完成帖子之后,它会重定向到channel.html文件,以便(部分)关闭弹出窗口 - 所以没有它在正确的位置意味着它没有关闭。

答案 5 :(得分:-7)

我解决了。这与我在FAcebook页面中的设置有关。