Facebook 在auth.authResponseChange事件中处理response.status时出现问题

Facebook 在auth.authResponseChange事件中处理response.status时出现问题,facebook,facebook-javascript-sdk,facebook-login,facebook-authentication,xfbml,Facebook,Facebook Javascript Sdk,Facebook Login,Facebook Authentication,Xfbml,我想创建一个登录系统,也可以使用FB的登录。因此,我在我的页面中设置了FB对象和SDK,然后订阅了auth.authResponseChange事件,并添加了一个匿名函数,用于在我已登录、未登录或未授权的情况下执行操作 当我登录时,它工作正常。当我未登录或未授权时,它不会执行任何操作。我认为它也不会进入匿名函数,因为我在if前面放了一个console.log(),它什么也不做 这是我的密码: // Facebook stuff window.fbAsyncInit = function() {

我想创建一个登录系统,也可以使用FB的登录。因此,我在我的页面中设置了FB对象和SDK,然后订阅了
auth.authResponseChange
事件,并添加了一个匿名函数,用于在我已登录、未登录或未授权的情况下执行操作

当我登录时,它工作正常。当我未登录或未授权时,它不会执行任何操作。我认为它也不会进入匿名函数,因为我在
if
前面放了一个console.log(),它什么也不做

这是我的密码:

// Facebook stuff
window.fbAsyncInit = function()
{
  FB.init({
    appId      : 'my id blabla', // App ID
    channelUrl : 'my channel.html bla bla', // Channel File
    status     : true, // check login status
    cookie     : true, // enable cookies to allow the server to access the session
    xfbml      : true  // parse XFBML
  });

  FB.Event.subscribe('auth.authResponseChange', function(response)
  {
    console.log("Running function");

    if(response.status === "connected")
    {
        console.log("Connected and authorized");
    }
    else if (response.status === 'not_authorized')
    {
        console.log("Not authorized");
    }
    else
    {
        console.log("Not connected");
    }
  });
};

// Load the SDK asynchronously
(function(d)
{
   var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0];
   if (d.getElementById(id)) {return;}
   js = d.createElement('script'); js.id = id; js.async = true;
   js.src = "//connect.facebook.net/en_US/all.js";
   ref.parentNode.insertBefore(js, ref);
}(document));

我也有同样的问题,但如果你订阅的是“auth.statusChange”而不是“authResponseChange”,你可以知道他是否“连接”到facebook并授权了你的应用程序,或者他是否连接到fb但未授权

此外,如果您使用facebook建议不要使用的FB.getLoginStatus,您可以知道用户处于三种状态(已连接、未自动设置或未连接)中的哪一种