以下是我的代码。出于某种原因,在用户登录到小弹出窗口后,小窗口将重定向回到'/'。在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

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

其他提示

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

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

希望这有帮助!

页面重新加载

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

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

来自Facebook API

  

reloadIfSessionStateChanged

     

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

有关详细信息,请查看 http://开发人员.facebook.com /文档/?U = facebook.jslib.FB.Facebook.init

弹出窗口未关闭

我发现,如果您的 path / to / xd_receiver.html 不正确,或者您的 onlogin 函数表示您的弹出窗口未关闭,则可能会出现问题您的Connect按钮未定义,因此请务必仔细检查它们。

希望有所帮助!

您可以这样使用onlogin属性:

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

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

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

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

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

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top