1

我正在查看所有使用FB进入网站的用户,在purushotam的帮助下(请参阅我的其他问题)能够继续。Facebook API登录记录

这里是我的新问题: 1)如何获得/使用Facebook提供的按钮。原因是我希望用户获得相同的用户体验。 (facebook按钮蓝色按钮) 2)一旦用户登录,我想发送一个提醒,然后去我重新定向的网站(例如我有stackoverflow)。因为FB是非阻塞异步的,所以在FB返回网站重定向的值之前我会看到。如何解决这个问题。 3)当用户试图登录我不想在FB popup-我想有一个新的页面(就像计算器登录的FB登陆)我该怎么做..

<body> 
     <div id="fb-root"></div> 
<script> 

     window.fbAsyncInit = function() { 
      FB.init({appId: 'xxxx', status: true, cookie: true, xfbml: true}); 

     }; 
     (function() { 
     var e = document.createElement('script'); e.async = true; 
     e.src = document.location.protocol + 
      '//connect.facebook.net/en_US/all.js'; 
     document.getElementById('fb-root').appendChild(e); 
     }()); 

    function fetchUserDetail() 
    { 
     FB.api('/me', function(response) { 
       alert("Name: "+ response.name + "\nFirst name: "+ response.first_name + "ID: "+response.id); 
      }); 
     window.location.href = 'http://www.stackoverflow.com'; 
    } 

    function checkFacebookLogin() 
    { 
     FB.getLoginStatus(function(response) { 
      if (response.status === 'connected') { 
      fetchUserDetail(); 
      } 
      else 
      { 
      initiateFBLogin(); 
      } 
     }); 
    } 

    function initiateFBLogin() 
    { 
     FB.login(function(response) { 
      fetchUserDetail(); 
     }); 
    } 
    </script> 


<input type="button" value="Sign in using Facebook" onclick="checkFacebookLogin();"/> 


</body> 

回答

1

1 )我如何获得/使用Facebook提供的按钮。原因是我希望用户获得相同的用户体验。 (Facebook的按钮,蓝色按钮)

https://developers.facebook.com/docs/reference/plugins/login/https://www.facebook.com/brandpermissions/logos.php

2)一旦用户登录时比,我想送一个警报,比去网站我重新定向(例如,在我有stackoverflow)。因为FB是非阻塞异步的,所以在FB返回网站重定向的值之前我会看到。如何解决这个问题。

对不起,我真的不明白你在问什么。请尝试更具体。

3)当用户试图登录我不想在FB popup-我想有一个新的页面(就像计算器登录的FB登陆)我该怎么做..

然后不要使用FB.login,而是将用户重定向到Auth对话框的URL;请参阅https://developers.facebook.com/docs/authentication/client-side/#no-jssdk

+0

谢谢您关于2)的回复如果您运行程序(代码在问题中)。你会看到userAlert没有被执行。它直接进入stackoverflow.I想要打印的警报比去stackoverflow website.regarding 3)FB的例子,我们有window.open和FB页面打开在一个新的窗口..我想要相同的页面定向FB ..once验证它应该回来(像一个stackoverflow相同的用户体验) – 2012-08-07 18:35:17

+0

_“你会看到,userAlert没有执行。它直接进入到stackoverflow中。“_ - 当然,它确实如此,因为FB.api是一个_asynchronous_方法 - 代码执行不会”等“直到完成,而是直接进行。 – CBroe 2012-08-07 21:08:23

+0

是的,这是问题,我的问题是:-)。我希望用户使用FB登录登录到我的网站。一旦他们登录,我想记录到我的数据库(所有页面内的变化根据用户谁在)。同时,一旦他被认证,我想进入我的门户网站(在这种情况下,堆栈overflow.com)。我明白这是异步如何解决这个问题......我知道很多人使用FB登录。如何解决这个问题 – 2012-08-07 21:40:36