3

ユーザーがサムネイルをクリックすると、APIからページに個々の画像を読み込むJSフォトギャラリーがあります。各画像にFacebookのコメントを追加できるようにしてほしい。そのため、ギャラリーを含むページにFacebookのコメント要素があります。

<div class="fb-comments" data-href="" data-num-posts="10" data-width="480"></div>

ページを読み込んで最初にギャラリーにデータを入力するときに、comments要素のdata-href属性を最初の画像のURLに設定しました(たとえば、http://site.com/gallery/1027/1)。次に、ユーザーがサムネイルをクリックすると、その属性が選択した画像のURLにリセットされます。

fbComments.attr('data-href', data.link + index);
FB.XFBML.parse();

これFB.XFBML.parse();は、Facebookにコメントを更新させるためにあなたがすることになっていることを私が読んだことです。1つの画像にコメントを追加し、コメントのない画像のサムネイルをクリックしてみました。しかし、最初の画像に対する私のコメントはまだそこにあります。誰かが理由を提案できますか?

JSファイルでFBオブジェクトをログアウトしようとしましたが、ログに記録されるので、呼び出した時点で使用できます。JSのクリックイベントが実際にdata-href属性を正しい値に変更していることを確認しました。また、fb-comments要素に別のdata-hrefをハードコーディングすると、コメントは期待どおりにレンダリングされます。

4

1 に答える 1

7

前のコメントボックスをdomから完全に削除してから、適切なdata-hrefを使用して新しいhtmlを挿入し、 FB.XFBML.parseメソッドを呼び出すことをお勧めします。

もう1つは、次のように、解析する場所を指定する必要があるということです。

FB.XFBML.parse(document.getElementById("container-id"));
于 2012-04-18T17:04:29.350 に答える