所以我在一个项目中工作,只要我点击某些特定项目,就会打开一个灯箱。这个灯箱使用ajax渲染一些带有GET参数(id)的php文件,用于标识显示的唯一数据集(地址,类别,图像等)。 我试图将Facebook评论包含在这个灯箱内(它的facebox),这一切似乎都运行良好,除了评论插件只显示一次,无论是什么。即,当我第一次点击某个项目时,一切都很好。我第二次点击任何项目时,灯箱不会显示Facebook评论。
。::代码::。
Facebook脚本略有修改,因此实际的Facebook脚本最终会在灯箱的内容中结束:
评论的HTML(在localhost中测试它,但我已经在线尝试过,没有区别):
(function(d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)){
FB.XFBML.parse();
return;
}
js = d.createElement(s);
js.id = id;
js.src = "//connect.facebook.net/es_LA/all.js#xfbml=1&appId=306357209496269";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
...
<div id="fb-root"></div>
<div class="fb-comments" data-href="http://localhost/inmobiliaria/propiedad.php?propId=<?php echo $id?>" data-width="470" data-num-posts="10"></div>
我还尝试将脚本保存在父文档(索引页面)中,并确认灯箱带来的脚本每次都重新执行。
如何让Facebook评论插件始终显示在灯箱内?
更新:我设法&#34;修复&#34;这个问题,即评论插件实际显示在每个灯箱中(添加了FB api的解析功能,请参阅上面的代码)。问题是,只有第一个是正确的大小。其余的总是在高处:160px,如果我添加另一条评论,它不会更新它的高度。