2012-01-13 82 views
0

我允許我的用戶使用他們的Facebook帳戶登錄到我的網絡應用程序。Facebook自動登錄 - 通知用戶

一個用戶自動登錄到我的網站通過Facebook如果 -

  • 他們註冊使用Facebook的
  • 我的網站,他們還沒有登陸我的網站,並結束了他們的會議
  • 他們目前已登錄Facebook

這很好,除了用戶訪問主頁並被帶到他們的儀表板,而Facebook檢查是否存在暫停他們已經登錄了。是否有辦法顯示一種預裝載器,在轉換過程中顯示「使用Facebook登錄」?

我使用以下的Facebook的JavaScript -

<script> 
    window.fbAsyncInit = function() { 
       FB.init({ 
       appId  : 'xxxxxxxxx', 
       status  : true, 
       cookie  : true, 
       xfbml  : true, 
       oauth  : true, 
       }); 

       FB.Event.subscribe('auth.login', function() { 
        FB.api('/me', function(response) { 
       window.location='mysite/fb_signin/'; 
        }); 
       }); 

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

      </script> 

謝謝。

回答

0

我與馬克同意,你可以使用getLoginStatus()來幫助你確定他們是你送他們到一個地方或另一個之前。但是,你說的東西很慢。所以這讓我看看你的代碼,看起來你錯過了你的FB.init()調用中的channelUrl(有關更多信息,請參閱https://developers.facebook.com/docs/reference/javascript/)。如果沒有channelUrl用戶與Javascript SDK功能的交互會很慢並且很慢。