2011-10-20 3 views
0

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)); 

答えて

0

私はFacebookのChromeで "インストール" していたので、これでした!アンインストールして、今どこでも動作します。幸せなSOOO!

関連する問題