2012-01-13 60 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功能的交互会很慢并且很慢。