我正在为客户创建一个页面,首先 - 我们将10个结果直接加载到页面上。这些结果使得facebook就像按钮一样完美。看看代码,我看到前10个resutls直接将facebook嵌入页面内容放在我期望的位置,我看到facebook就像按钮一样!
现在。我点击页面的底部链接,再加载10个结果。另外10个结果使用与前10个完全相同的代码,但是facebook like按钮并不适用。当我查看代码时,我发现html只是原始代码的复制粘贴,而不是前10个示例中的嵌入页面。
我最好的猜测是,通过将这些按钮延迟加载到页面上,它们不会以相同的方式处理。但我不知道如何修复它......
关于我能在这做什么的任何想法?
答案 0 :(得分:2)
在执行下一页后尝试调用FB.XFBML.parse(null,FB.Canvas.setSize)
答案 1 :(得分:0)
每次加载内容div
时,您都可以调用FB like按钮的脚本部分。
<script>
function lazyload(){
var wt = $(window).scrollTop();
//* top of the window
var wb = wt + $(window).height();
//* bottom of the window
$(".content").each(function(){
var ot = $(this).offset().top;
//* top of object (i.e. content div)
var ob = ot + $(this).height();
//* bottom of object
var script = document.createElement( 'script' );
script.type = 'text/javascript';
script.src = 'http://connect.facebook.net/en_US/all.js#xfbml=1&appId=15496180XXXX';
if(!$(this).attr("loaded") && wt<=ob && wb >= ot){
//$(this).append(script);
document.body.appendChild(script);
$(this).attr("loaded",true);
FB.XFBML.parse();
}
}
);
}
$(document).ready(function(){
$(window).scroll(lazyload);
lazyload();
}
);
</script>
正如所指出的那样,但是@alexl每次动态加载like按钮脚本时都需要调用FB.XFBML.parse();
。