0

私は Facebook Connect アプリに取り組んでいます。接続ボタンが稼働しており、ユーザーは Facebook 経由で正常に認証できます。しかし、プロフィール写真と名前を XFBML で表示するのに問題があります。これが私がやっていることです:

<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>

[接続] ボタンで正常にログインでき、Javascript コールバックが実行されますが、最終的には次のようになります。

http://www.friedo.com/fbuserbox.png

そのため、写真も名前も入力されていません。の代わりに FB プロファイル ID をハードコーディングしても、同じことが起こりますloggedinuser

更新:タグfacebook-logoから属性をオフにすると、(ランダムにいじった後)動作させることができるようです。fb:profile-picfalse に設定 (または削除) すると、ユーザー ボックスが正しくレンダリングされます。しかし、Facebookのロゴも機能する必要があります。:(

4

2 に答える 2

1

使用している正確なマークアップは、このテストコンソールで正常に機能します。JavaScriptエラーが発生していないことを確認しますか?

また、比較的古いユーザーのuidでテストできますか。新規ユーザーの画像表示にバグがあるようです。私のuidでテストしたい場合、私のuidにはこの問題はないようです。685184151

于 2009-10-19T18:11:59.320 に答える
0

サーバーでこのコードを試してみたところ、完全に機能し、名前と写真に fb ロゴが表示されました。IE8、Chrome 4.0、Safari 3.21、Firefox 3.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 タグとともに追加しただけです。

于 2009-10-21T10:10:58.083 に答える