Facebook javascript SDK无响应

时间:2011-09-06 02:57:01

标签: javascript facebook-graph-api facebook

嗨,我有这个代码,我试图使用Facebook JavaScript SDk开发。当我在Firebug中测试它时代码工作正常,但是当我测试它和网页时没有响应。我已经为该特定网站设置了应用程序,但它没有响应

<div id="fb-root"></div>
<script type="text/javascript">
(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);
    } ());

</script>
<script>
window.fbAsyncInit = function() {
        FB.init({
          appId  : 'XXXXXXXXXX',
          status : true, // check login status
          cookie : true, // enable cookies to allow the server to access the session
          xfbml  : true  // parse XFBML
        });
      };

function updateButton(response) {
  var button = document.getElementById('auth_button');
    button.onclick = function() {
    FB.login(function(response) {
        button.innerHTML = 'Logout';
      });
    }
  if (response.status === 'connected') {
    button.innerHTML = 'Logout';
    button.onclick = function() {
      FB.logout(function(response) {
        alert('FB.logout');
      });
    };
  } else {
    button.innerHTML = 'Login';
    button.onclick = function() {
      FB.login(function(response) {
        alert('FB.login callback');
        if (response.status === 'connected') {
          alert('User is logged in');
        } else {
          alert('User is logged out');
        }
      });
    };
  }
}

// run it once with the current status and also whenever the status changes
FB.getLoginStatus(updateButton);
FB.Event.subscribe('auth.statusChange', updateButton);
</script>

3 个答案:

答案 0 :(得分:0)

尝试同步加载JS SDK。

答案 1 :(得分:0)

你的自我调用函数是错误的 - 关闭的parens排列不正确,因此不会被调用。将其更改为:

(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);
})();

答案 2 :(得分:0)

当我在未在Facebook注册的域上测试页面时,我通常会遇到这些问题。您正在测试的URL是否与Facebook中的域匹配?