私は、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 はまだコールバックを呼び出しません。
どんな助けでも大歓迎です。
更新:チャネル パラメータを追加しても、問題は解決しないようです。