Javascript 当Facebook徽标=”时,Facebook Connect API未填充用户数据;“真的”;选项被使用
我正在开发Facebook Connect应用程序。我已经启动并运行了连接按钮,用户可以通过Facebook成功进行身份验证。但是,我很难用XFBML显示他们的个人资料图片和名称。以下是我正在做的:Javascript 当Facebook徽标=”时,Facebook Connect API未填充用户数据;“真的”;选项被使用,javascript,html,facebook,xfbml,Javascript,Html,Facebook,Xfbml,我正在开发Facebook Connect应用程序。我已经启动并运行了连接按钮,用户可以通过Facebook成功进行身份验证。但是,我很难用XFBML显示他们的个人资料图片和名称。以下是我正在做的: <script type="text/javascript"> function fb_login_handler() { var userbox = document.getElementById( "fb_userbox" ); userbox.innerHTML
<script type="text/javascript">
function fb_login_handler() {
var userbox = document.getElementById( "fb_userbox" );
userbox.innerHTML =
"<span>"
+ "<fb:profile-pic uid=loggedinuser facebook-logo='true'></fb:profile-pic>"
+ "Welcome, <fb:name uid=loggedinuser useyou='false'></fb:name>"
+ "</span>";
FB.XFBML.Host.parseDomTree();
}
</script>
...
<div id="fb_userbox">
<fb:login-button onlogin="fb_login_handler();" autologoutlink="1" length="long"></fb:login-button>
</div>
...
<!-- Facebook Connect initialization -->
<script src="http://static.ak.connect.facebook.com/js/api_lib/v0.4/FeatureLoader.js.php/en_US" type="text/javascript">
</script>
<script type="text/javascript">
FB.init("[MY_API_KEY]", "/xd_receiver.htm",
{ "ifUserConnected" : fb_login_handler } );
</script>
函数fb_login_handler(){
var userbox=document.getElementById(“fb_userbox”);
userbox.innerHTML=
""
+ ""
+“欢迎,”
+ "";
FB.XFBML.Host.parseDomTree();
}
...
...
FB.init(“[MY_API_KEY]”,“/xd_receiver.htm”,
{“ifUserConnected”:fb_login_handler});
我可以使用Connect按钮成功登录,Javascript回调也会运行,但我的最终结果是:
因此,无论是图片还是名称都没有被填充。即使我硬编码我的FB配置文件ID而不是loggedinuser
,也会发生同样的情况
更新:如果我从
fb:profile pic
标签中关闭facebook logo
属性,似乎(在随机乱搞之后)我可以让它工作。将其设置为false(或删除它)会导致用户框正确渲染。但我也需要使用Facebook徽标(您使用的确切标记可以正常工作。您确定没有收到任何JavaScript错误吗
另外,你能用一个相对老的用户的uid进行测试吗?似乎有。如果你想用我的uid进行测试,我的uid似乎没有这个问题:
685184151
我在我的服务器上试过这段代码,它工作得很好,我的名字和照片都带有fb徽标,我在IE8、Chrome4.0、Safari3.21和Firefox3.5上都试过成功了
您必须添加这些标记,以便FBML标记在IE、Safari和其他浏览器的某些版本中工作
<!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">
我想粘贴整个脚本,这样你就可以看到它,但我是这个网站的新手,所以我不知道如何粘贴(代码标签不起作用)。我没有对您的代码进行任何更改,只是添加了上面提到的标记以及body和head标记。您是否尝试过查看这是否是特定于浏览器的?这是一个很好的观点,我还没有在其他浏览器中尝试过。我在几天前尝试测试控制台时遇到了相同的问题。我会再试一次,看看是否有问题任何事情都发生了变化——或者如果我在睡眠不足的状态下遗漏了一些细节。看起来这是您提到的bug的一个实例;经过几天的传播,它似乎工作正常。选择一些代码文本并单击“101010”按钮。这将其格式化为代码。