0

ユーザーが自分のアプリを登録しているかどうかを確認しています。登録していない場合は、Facebookの登録ボタンを表示しようとしていますが、表示されません。

これが私のウェブページのフッターにあるjavascriptコードです:

<div id="fb-root"></div>
<script type="text/javascript">
  window.fbAsyncInit = function() {
    FB.init({
      appId   : '281914178557709',
      status  : true, // check login status
      cookie  : true, // enable cookies to allow the server to access the session
      xfbml   : true // parse XFBML
    });

    FB.getLoginStatus(function(response) {
      if (response.status === 'connected') {
        var uid = response.authResponse.userID;
        var accessToken = response.authResponse.accessToken;
      } 
      else if (response.status === 'not_authorized') {
        alert("Show registration");
        $('#fb_register').html('<label class="control-label" for="fname">&nbsp;</label><div class="controls"><fb:login-button registration-url="/register_facebook.php" /></div>');
      }
   });             
};

(function() {
  var e = document.createElement('script');
  e.src = document.location.protocol + '//connect.facebook.net/en_US/all.js';
  e.async = true;
  document.getElementById('fb-root').appendChild(e);
}());

私のdivタグは単純にこれです:

<div class="control-group" id="fb_register"></div>

アラートメッセージが表示されるので、正しい領域を押していることがわかりますが、ボタンがレンダリングされません。ストレートテキストを使用すると、レンダリングされます。XFBMLがレンダリングされない理由はありますか?

4

1 に答える 1

1

Facebookログインボタンを挿入する前にxfbmlが解析されていると思います。最善の方法は、Facebookログインボタンをdivでラップし、その表示をnoneに設定してから、ユーザーが認証されている場合は表示をブロックに切り替えることです。

于 2012-04-09T13:20:42.413 に答える