4

FB.login() を使用して FB Javascript SDK でログイン + 登録フローを変更したい。

今FBMLの方法はうまくいきます:

<fb:login-button registration-url="<?php echo $config["base_url"]; ?>test.php" size="small"></fb:login-button>

次のコードの上のボタンをクリックすると、div がトリガーされ、登録プラグインが表示されます

FB.getLoginStatus(function(response) {
        if (response.status === 'not_authorized') {
          // show registration form   
           document.getElementById('reg').style.display = "block";
          }
         });     

// registration form placed in a div 
<div style="display:none;width:540px;position:relative;margin:0 auto;" id="reg">     
<fb:registration fields="name,birthday,gender,location,email" 
redirect uri="http://app.sunosunaao.com/test.php" width="530">
</fb:registration>
</div>

しかし、ユーザーが FB.login() からログインしたら、上記の div を表示する方法はありますか? FB.login() を使用すると、Facebook のアクセス許可ページに直接移動し、接続されると、次の関数の条件が

response.status === 'connected'

hence the registration plugin is not triggered 

FB.getLoginStatus(function(response) {
        if (response.status === 'not_authorized') {
          // show registration form   
           document.getElementById('reg').style.display = "block";
          }
         });    

どのように代用できるかについてのアイデア

<fb:login-button registration-url="<?php echo $config["base_url"]; ?>test.php" size="small"></fb:login-button> with FB.login();
4

1 に答える 1

0

この投稿で説明されているように、JavaScript コードにイベントを添付できます http://developers.facebook.com/blog/post/534/

    FB.Event.subscribe('auth.login', function(response) {
      // this code is executed after login success
    });
    FB.Event.subscribe('auth.logout', function(response) {
      // this code is executed after logout success 
    });

それが役立つことを願っています。

于 2013-01-30T13:46:18.010 に答える