0

次のコードがあります(javascript)

       <script>
            window.fbAsyncInit = function() {
            FB.init({
              appId: '<?=$this->facebook->getAppID()?>', 
              cookie: true, 
              xfbml: true,
              oauth: true
            });

            FB.Event.subscribe('auth.login', function(response) {
                loading();
                alert("test");
                window.location = throute + "login/index/fblogin";                
            });

            FB.Event.subscribe('auth.logout', function(response) {
                window.location.reload();
            });

            FB.Event.subscribe('auth.authResponseChange', function(response) {
                if (response.status=="connected") {
                    alert("test");
                    window.location = throute + "login/index/fblogin";
                }
            });
        };
        (function() {
            var e = document.createElement('script'); e.async = true;
            e.src = document.location.protocol +
              '//connect.facebook.net/en_US/all.js';
            document.getElementById('fb-root').appendChild(e);
        }());       
      </script>

ユーザーがfbにログインしていない場合、すべて問題ありません。

私の問題は、ユーザーがすでに fb にログインしている場合、アクセスするとサイトに自動的にログインされることです。「ログイン」ボタンをクリックした後、彼にログインしてもらう必要があります。

タイに助けを求める。

4

1 に答える 1

1

ユーザーが loginButton をクリックしたときに、FB アプリを初期化するだけです。Facebook独自の loginbuttonを使用していると思いますが、それを行う必要はありません。

('#loginButton').click(function(){
     FB.init({
          appId: '<?=$this->facebook->getAppID()?>', 
          cookie: true, 
          xfbml: true,
          oauth: true
        });
    //the rest of the code follows here
});

ユーザーがすでに Facebook にログインしている場合は、ボタンを押すと直接ログインします。

ユーザーが Facebook にログインしていない場合、ボタンをクリックするとログイン ダイアログが表示されます。

于 2012-09-05T13:04:40.150 に答える