3

私は、FB JS auth SDK を使用する Web サイトに取り組んでいます。ユーザーが [Facebook でログイン] ボタンをクリックしたときにのみサインインし、ページの読み込みなどでユーザーを自動的にログインさせません。そのため、FB.init で「ステータス」を false に設定しています。

以下はそれの私の実装です:

window.fbAsyncInit = function() {
    FB.init({ 
        appId: '73092430896', 
        status: false, 
        cookie: true, 
        xfbml: true, 
        oauth: true,
    });  

    // listen for and handle auth.statusChange events
    FB.Event.subscribe('auth.statusChange', function(response) {
        console.log('login called.');
        if (response.authResponse) { 
            console.log('repsonse is set.');                    
            if(typeof APPJS.login != 'undefined' && typeof APPJS.login.loginCallback == 'function'){
                console.log('login.callback exists.');
                APPJS.login.loginCallback(response);
            }   
        }
    });            
};

問題は、auth.statusChange コールバックが IE (私が試したバージョン) で起動されていないため、ユーザーがカスタム JS 関数を介してログインしていないことです。Chrome、Safari、および Firefox で問題なく動作します。これらのブラウザーのいずれかで Facebook にログイン/ログアウトすることとは関係ありません。Facebook にログインしたりログアウトしたりしようとしましたが、IE はまだコールバックを呼び出しません。

どんな助けでも大歓迎です。

更新:チャネル パラメータを追加しても、問題は解決しないようです。

4

1 に答える 1

0

このページの「ページ読み込み時のユーザー ステータスの確認」セクションを参照してください: http://developers.facebook.com/docs/reference/javascript/FB.getLoginStatus/

FB.init 呼び出しで「status: true」を設定する必要があると書かれています。

于 2013-02-01T16:57:30.457 に答える