我有大约90%的PHP代码用于与我的社交网络进行非常好的facebook连接集成,但我遇到了一个巨大的问题。
下面这段代码应该在页面上显示一个facebook连接按钮,但它根本不显示任何内容。
<body onload="initFB();">
<fb:login-button length="long" background="light" size="medium"></fb:login-button>
<script type="text/javascript">
function fbConnect() {
FB.init("", "/testing/facebook/xd_receiver.htm",{"reloadIfSessionStateChanged":true});
}
</script>
此外,如果我硬编码一个html弹出窗口为facebook连接打开然后当它打开它与连接页面似乎工作,现在一切正常,除了在登录之前或之后显示我的页面上的任何Facebook东西它
任何想法都可能出错?我认为它必须对这个xd_receiver.htm文件做一些事情,facebook要求你把它放在你想要使用facebook连接的页面上,它使javascript工作和东西,我尝试了不同的文件路径等等,看看是否这有所作为,但似乎没有帮助
答案 0 :(得分:2)
很难说出你发布的代码发生了什么。您<body>
的{{1}}事件似乎onload
,但您发布的代码中不存在该功能。也许你的意思是在那里拨打initFB()
,这会调用您指定的fbConnect()
?
使用FB.init()
,您必须确保Facebook可以访问您的xd_receiver.htm文件。这很重要。尝试通过键入您设置的URL手动访问它,并确保它正常运行。仔细检查相对路径是否正确,并确保在应用程序设置控制面板中正确设置了连接URL 。如果没有将此文件提供给Facebook的服务器,将导致任何XFBML标签完全失败,听起来这可能是您在此处收到的错误消息判断的问题。
修改强>
关于XFBML的更多要点:
要使XFBML代码生效,您必须在FB.init
代码中指定xmlns:fb="http://www.facebook.com/2008/fbml"
作为属性。例如:
<html>
您需要使用Facebook库的<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:fb="http://www.facebook.com/2008/fbml">
调用来加载XFBML解析器
RequireFeatures
库。我建议您详细了解所有这些内容的XFBML setup docs,并确保您已满足所有这些要求。从你发布的代码来看,它们看起来并不像那些东西。
答案 1 :(得分:1)
不确定,但如果您已经登录到fb,则fb:login-button将不会显示任何内容。当autologoutlink为true时,在这种情况下会显示注销链接。