Javascript Facebook API登录-日志

Javascript Facebook API登录-日志,javascript,html,facebook,facebook-graph-api,facebook-javascript-sdk,Javascript,Html,Facebook,Facebook Graph Api,Facebook Javascript Sdk,我正在考虑使用FB记录所有进入网站的用户。在purushotam的帮助下(见我的另一个问题)可以继续 以下是我的新问题: 1) 如何获取/使用facebook提供的按钮。原因是我希望用户获得相同的用户体验。(facebook按钮蓝色按钮) 2) 一旦用户登录than,我想发送一个警报,然后转到我重新定向的网站(在示例中,我有stackoverflow)。因为FB是非阻塞异步的,所以在FB返回值之前,我看到网站被重定向。如何解决这个问题。 3) 当用户尝试登录时,我不希望出现FB弹出窗口-我希望F

我正在考虑使用FB记录所有进入网站的用户。在purushotam的帮助下(见我的另一个问题)可以继续

以下是我的新问题: 1) 如何获取/使用facebook提供的按钮。原因是我希望用户获得相同的用户体验。(facebook按钮蓝色按钮) 2) 一旦用户登录than,我想发送一个警报,然后转到我重新定向的网站(在示例中,我有stackoverflow)。因为FB是非阻塞异步的,所以在FB返回值之前,我看到网站被重定向。如何解决这个问题。 3) 当用户尝试登录时,我不希望出现FB弹出窗口-我希望FB登录在新页面中(就像stackoverflow登录一样),我如何才能做到这一点

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

window.fbAsyninit=函数(){
init({appId:'xxxx',状态:true,cookie:true,xfbml:true});
};
(功能(){
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);
}());
函数fetchUserDetail()
{
FB.api('/me',函数(响应){
警报(“名称:“+response.Name+”\n名字:“+response.first\u Name+”ID:“+response.ID”);
});
window.location.href=http://www.stackoverflow.com';  
}
函数checkFacebookLogin()
{
FB.getLoginStatus(函数(响应){
如果(response.status===“已连接”){
fetchUserDetail();
} 
其他的
{
initiateFBLogin();
}
});
}
函数initiateFBLogin()
{
FB.登录(功能(响应){
fetchUserDetail();
});
}
1) 如何获取/使用facebook提供的按钮。原因是我希望用户获得相同的用户体验。(facebook按钮蓝色按钮)

,,

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

对不起,我真的不明白你在问什么。请尽量说得更具体些

3) 当用户尝试登录时,我不希望出现FB弹出窗口-我希望FB登录在新页面中(就像stackoverflow登录一样),我如何才能做到这一点

  <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>
然后不要使用FB.login,而是将用户重定向到Auth对话框的URL;看

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

,,

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

对不起,我真的不明白你在问什么。请尽量说得更具体些

3) 当用户尝试登录时,我不希望出现FB弹出窗口-我希望FB登录在新页面中(就像stackoverflow登录一样),我如何才能做到这一点

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

然后不要使用FB.login,而是将用户重定向到Auth对话框的URL;请参阅

感谢您回复关于2)如果您运行该程序(问题中的代码)。您将看到userAlert没有执行。它直接转到stackoverflow。我希望打印警报,而不是转到stackoverflow网站。关于3)FB示例,我们有window.open,FB页面在新窗口中打开。我希望相同的页面被定向到FB。一旦验证,它应该会回来(与stackoverflow相同的用户体验)“您将看到userAlert没有执行。它直接进入stackoverflow。”–当然会,因为FB.api是一个异步方法–代码执行不会“等待”是的,这就是问题所在,我的问题是:-)。我想让用户使用FB登录登录我的网站。一旦他们登录,我想在我的数据库中记下一个笔记(里面的所有页面都会根据登录的用户而变化)。同时,一旦他通过身份验证,我想进入我的门户(在本例中为stack overflow.com)。我知道如何解决这个问题是异步的…我知道很多人都在使用FB登录。当方法在回调函数中完成它的工作时,如何添加这个问题?如何执行你想要的任何操作。谢谢,这只解决了我80%的问题。我有两个FB.api。一个用于获取FB.api(/me)还有另一个fb.api(我/朋友)之后,我应该保留回拨。原因是如果我将它保留在fb.api(朋友)中,那么只有fb.api被调用,页面被重定向。如果我保留在fb.api(/me)中,它会工作。但是你回答了我的问题,我将作为一个新问题提出。如果你运行该程序,谢谢你关于2)的答复(问题中的代码)。您将看到userAlert未被执行。它直接转到stackoverflow。我希望打印该警报,而不是转到stackoverflow网站。关于3)FB示例,我们有window.open,FB页面在新窗口中打开。我希望将同一页面定向到FB。一旦验证,它应返回(与stackoverflow的用户体验相同)“您将看到userAlert没有执行。它直接进入stackoverflow。”–当然会,因为FB.api是一种异步方法–代码执行不会“等待”完成,而是直接继续。是的,这就是问题所在,我的问题是:-)。我希望用户使用FB登录登录我的网站。一旦他们登录,我希望在我的数据库中记下一个笔记(根据登录用户的不同,其中的所有页面都会发生变化)。在sa