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