2012-07-27 48 views
7

对于我的生活,我无法获得Event.subscribe('auth.authResponseChange')的工作。请参阅下面的代码facebook FB.Event.subscribe('auth.authResponseChange')不起作用

<div id="fb-root"> 
    </div> 
    <script> 
     window.fbAsyncInit = function() { 
      FB.init({ 
       appId: 'XXXXXXXXXXXXXXX', // App ID 
       channelUrl: 'http://XXXXXXXX.us/', // 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) { 
       alert('The status of the session is: ' + response.status); 
      }); 
     }; 


     // 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)); 
    </script> 
    <div class="fb-login-button" data-size="xlarge" scope="email" data-show-faces="false" 
     data-width="400" data-max-rows="1" autologoutlink="true"> 
     Login with Facebook</div> 

登录按钮呈现。我也可以注销。唯一的问题是,auth.response更改不会触发,我没有收到“消息”弹出框

+0

FBML不久将被取消。最好不要使用它。 – InspiredJW 2012-07-27 10:03:49

+3

@InspiredJW FBML已经被弃用,这是XFBML,不会被弃用的东西 – 2012-08-07 02:16:07

+0

你有没有试过根据文档检查'response [0]'?*请注意,在某些情况下,响应的值是不加键的,但当返回多个变量时,它包含相应的键。* => http://developers.facebook.com/docs/reference/javascript/FB.Event.subscribe/ – PlantTheIdea 2013-10-29 21:55:18

回答

-4

您的fbAsyncInit函数是异步调用的,因此您不会看到任何警报消息。尝试使用console.log来进行调试。

-1

你的代码看起来不错。

我会访问您的Facebook应用程序,并特别检查2个设置。

  1. 检查“沙盒模式” - 确保它被设置为“已禁用”
  2. 检查您的网站的URL和/或帆布网址 - 确保它们设置为您的域名。 (也就是说,如果你在这个地方你的网址的工作应该是这个样子http://localhost:#####/其中#####是你的端口。

希望有所帮助。

+0

嘿,你知道吗?找出我的港口这个号码? – LazerSharks 2013-06-26 03:00:26

+0

如果您在Visual Studio中工作,则从解决方案资源管理器中右键单击您的Web项目,然后单击属性。在你的左边,第三下,选择Web。在服务器部分选择'特定端口',并使用默认值或选择一个新的。 – KevinM 2013-07-04 21:15:37