3

my problem is this: I've got a webpage that changes each time the user clicks the button. The title is updated, a graph. Seeing as the page now has different content, I would love to have a different commenting section. However, the url is exactly the same (because all of the content is ajax loaded) and so I'm wondering whether it is possible to have a new FB comment box be generated as well (it would need to be generated because there are hundreds of sets of content that the user can click through)?

Thanks.

user1104147
  • 105
  • 3
  • 9

2 Answers2

12

Yes it is possible to generate a new comment box.

After the AJAX call, you will need to remove the old comments box from the DOM, then insert a new one into the DOM and then call the javascript function FB.XFBML.parse(); to get Facebook to rerender it.

DMCS
  • 31,720
  • 14
  • 71
  • 104
  • This is good news! but how would I go about creating the new one? The code for the comments is: `
    ` - so how could I alter this (after each ajax call) so that it is a different comment box?
    – user1104147 Jan 18 '12 at 22:33
  • `$("#fbCommentsPlaceholder").html('
    ');FB.XFBML.parse();`
    – DMCS Jan 18 '12 at 22:46
  • Also note that when the comment box itself is parsed as a result of the `XMLHttpRequest`, you will only need to call `FB.XFBML.parse()` when the parsing is finished. – ACJ Aug 20 '12 at 01:45
0

I found a faster way to change the comments, just changing the href:

    $(".fb-comments").attr('data-href', data_href);
    FB.XFBML.parse();
Arik
  • 43
  • 5