我有一个页面有一种无限滚动。这意味着每次用户到达页面底部时,主页都会加载n个帖子。每个帖子都有用XFMBL方式加载的facebook评论:在AJAX加载帖子后,以下脚本将解析facebook插件:
$( document ).ready(function() {
FB.XFBML.parse(document.getElementById("<?php echo $_id ?>"), function() {});
});
实际上&#34;无限滚动&#34;不是给我任何问题,而是一个开始。事实上,当我加载整个页面时,假设该网站将首先加载5个帖子来填充屏幕,每个Facebook评论将刷新5次。之后我没有其他问题(以后加载的每个帖子都没有问题)。
你能帮帮我吗? 提前致谢答案 0 :(得分:1)
基于这个答案:
FB.XFBML.parse() on individual element does nothing
您可以做的是:
在您成功回调(请求新帖子时)时,首先为这些帖子创建唯一ID。在上面的示例中,您可以使用:
newDivName = "d" + String(new Date().valueOf());
然后缓存新请求的帖子(再次,同样的例子):
var $newhtml = $("<div id='" + newDivName + "'>" + html + "</div>");
将它附加到您需要的任何地方;最后,使用该唯一ID,您可以:
FB.XFBML.parse($newhtml[0]);
基本上,前面提到的问题应该可以解决你的问题。
现在,它取决于您使用的是哪个无限滚动插件,但确定它将有一个成功回调,您可以放置此代码。我不知道您是否会单独访问每个帖子,或者您的AJAX请求将连续返回所有帖子。您必须达到可以识别帖子的每一个单元的程度,这样您就可以单独刷新它们,并且可以动态地解析XFBML标记,因此它不会加载超过需要的次数。
希望它有所帮助!