6

ページが読み込まれた後、Facebook ユーザーのプロフィール画像を表すタグを含む HTML チャンクをプルダウンする AJAX リクエストを作成しています。結果を DOM のポイントに追加しましたが、ロゴが読み込まれず、デフォルトのシルエットしか表示されません。

jQueryでHTMLチャンクをロードする方法は次のとおりです

$.ajax({
  url: "/facebookprofiles"
  success: function(result) {
    $('#profiles').append(result);
  }
});

私が追加している HTML は、次のような diff のリストです。

<div class="status Accepted">
  <fb:profile-pic class="image" facebook-logo="true" linked="true" size="square" uid="1796055648"></fb:profile-pic>
  <p>
    <strong>Corona Kingsly</strong>My Status Update<br/>
    <span style="font-size: 0.8em">52 minutes ago</span>
  </p>           
</div>

何か案は?domがロードされると、fbタグは処理されていないと思います。それを実現する方法はありますか?Firebug コンソールに例外やエラーが表示されません。

ありがとう

4

3 に答える 3

8

最初の試み

これが大いに役立つかどうかはわかりませんが、Ajax + FBMLに関する記事は次のとおりです: http ://wiki.developers.facebook.com/index.php/FBJS#Creating_FBML_Elements

特に、おそらくsetInnerFBML()メソッドを使用できます


ファローアップ

したがって、init関数はfbmlを解析すると思います。したがって、明らかな問題は、initの後にfbmlを挿入した場合に、Facebookのjavascriptライブラリでfbmlを再解析する(または単に新しいfbmlを解析する)方法です。

このスレッドが役立つようです:http: //forum.developers.facebook.com/viewtopic.php?id = 22245

フォーラムにはさらに多くのコンテキストがありますが、関連するコードのように見えるものは次のとおりです。

if ( FB.XFBML.Host.parseDomTree )
  setTimeout( FB.XFBML.Host.parseDomTree, 0 );
于 2009-09-22T21:23:22.113 に答える
6

FB.XFBML.Host.parseDomTree が機能しませんでした。新しいAPIで変更された可能性があります。うまくいったのは:

FB.XFBML.parse(document.getElementById('foo'))

また

FB.XFBML.parse()

ページ全体を解析したい場合。

于 2010-05-27T06:14:08.717 に答える