Facebook認証がうまく機能しています。私はプロファイルの写真とユーザーの名前を引き出すことができます。しかし、あなたがログインをクリックすると、Facebookのプロンプトが表示されたら私は2つの問題があります(IEとChromeの両方)。Facebookの認証ページが親展ボックスを閉じたり更新したりしない
まず、ウィンドウが閉じないようにします。空白の白いページに移動するだけです。これは実際にウェブ上で私に起こっています。 turntable.fmログインは、私が考えることができる任意のfb接続サイトと同様にこれを行います。それは私の仕事で、家庭では複数の異なるPCで起こります。 fbは壊れていますか?私は助けることができませんが、これは他の問題に関連していると思う...
(空白の)ログインポップアップを閉じると、私のページは更新されません。
これは問題です。私はauth.loginイベントを購読しようとしましたが、そこにreload()を呼び出しましたが、これはドキュメントが推奨するものですが、ログインしたときに更新されませんでした。それでログアウトとリロードを検出するためのコードを以下に追加しました。それは実際に動作します。では、ポップアップウィンドウが閉じたとき、またはポップアップウィンドウを閉じて、ページをリロードするときに、どうやってリロードできるのですか?
以下、関連するすべてのFBコード(と思う):
window.fbAsyncInit = function() {
FB.init({
appId: '123456', // App ID
channelURL: 'http://www.mydomain.net/channel.html', // Channel File
status: true, // check login status
cookie: true, // enable cookies to allow the server to access the session
oauth: true, // enable OAuth 2.0
xfbml: true // parse XFBML
});
//update guest/username if logged in or not
FB.getLoginStatus(function (response) {
if (response.authResponse) {
FB.api('/me', function (response) {
$('#UserMenu').show();
$('#Login').hide();
$('#fbpic').html('<img alt="Account Picture" src="https://graph.facebook.com/' + response.username + '/picture" />');
$('#AccountName').html(response.name);
getVentID(response.id, response.name);
$('#Logout').show();
});
} else {
//not logged in to facebook
}
});
$('#Logout').live('click', function() {
FB.logout(function (response) {
// user is now logged out
window.location.reload();
});
});
//subscribe to login changes
FB.Event.subscribe('auth.login', function (response) {
});
};
// Load the SDK Asynchronously
(function (d) {
var js, id = 'facebook-jssdk'; if (d.getElementById(id)) { return; }
js = d.createElement('script'); js.id = id; js.async = true;
js.src = "//connect.facebook.net/en_US/all.js";
d.getElementsByTagName('head')[0].appendChild(js);
} (document));