FB.XFBML.parse()不刷新Facebook评论

时间:2012-04-18 16:58:45

标签: javascript ajax facebook facebook-comments

我有一个JS照片库,当用户点击缩略图时,可以将API中的单个图像加载到页面中。我希望人们能够在每张图片上添加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更新评论。我已经在一张图片上添加了评论,并尝试点击图片的缩略图而不添加评论。但我对第一张图片的评论仍然存在。任何人都可以建议为什么?

我已尝试在我的JS文件中注销FB对象,并且它记录正常,因此在我调用它时可以使用它。我已经检查过我的JS中的click事件确实将data-href属性更改为正确的值。当我在fb-comments元素中对不同的数据href进行硬编码时,注释会按预期呈现。

1 个答案:

答案 0 :(得分:7)

我建议您从dom中完全删除之前的注释框,然后使用正确的 data-href 插入一个新的html,然后调用 FB.XFBML.parse 方法。

另一件事是你应该指定解析的位置,如下所示:

FB.XFBML.parse(document.getElementById("container-id"));