0

我正在使用Facebooks Javascript APIjQuery Mobile Website的来导入facebook的albumsand 。photospage

它相当容易使用 API:

<div id="fb-root"></div>
<script>
  window.fbAsyncInit = function() {
    // init the FB JS SDK
    FB.init({
      appId      : 'YOUR_APP_ID',                        // App ID from the app dashboard
      channelUrl : '//WWW.YOUR_DOMAIN.COM/channel.html', // Channel file for x-domain comms
      status     : true,                                 // Check Facebook Login status
      xfbml      : true                                  // Look for social plugins on the page
    });

    // Additional initialization code such as adding Event Listeners goes here
    FB.api('16907099963/albums', checkForErrorFirst(getAlbums));
  };

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

如您所见,我在这里调用了 API:FB.api('16907099963/albums',checkForErrorFirst(getAlbums));它将为我提供此页面的所有专辑。电话是asynchronous。我需要找到一种能够知道通话何时结束的方法。但我真的在这里找不到任何callback functions东西..

API 可以在这里找到

我要求这样做的原因是,我需要添加一个 jquery 移动“加载”小部件,然后我调用 API 并在专辑呈现时使其停止。对这个有任何想法吗?

4

1 回答 1

0

checkForErrorFirst回调函数。我认为您的页面 ID 之前也缺少一个斜杠FB.api。如果您无法编辑checkForErrorFirst功能,快速解决方案:

loader.show();
FB.api('/16907099963/albums', function(result) {
  loader.hide();
  checkForErrorFirst(getAlbums)(result);
});
于 2013-07-04T17:24:41.160 回答