0

Facebookのとをインポートするためにを使用Facebooks Javascript APIしています。jQuery Mobile Websitealbumsphotospage

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はここにあります

私がこれを求めている理由は、API を呼び出してアルバムがレンダリングされたときに停止させる前に、jquery モバイルの「読み込み」ウィジェットを追加する必要があるためです。これについて何か考えはありますか?

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 に答える