因此,我正在从事一个项目,该项目涉及每当我单击某些特定项目时打开一个灯箱。这个灯箱使用 ajax 呈现一些带有 GET 参数(一个 id)的 php 文件,该参数标识显示的一组唯一数据(地址、类别、图像等)。我试图在这个灯箱(它是facebox)中包含 facebook 评论,这一切似乎都工作正常,除了评论插件只显示一次的事实,无论如何。即,当我第一次单击某个项目时,一切都很好。我第二次单击任何项目时,灯箱不会显示 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 评论插件始终显示在灯箱内?
更新:我设法“修复”了这个问题,即评论插件实际上出现在每个灯箱中(添加了 FB api 的解析功能,参见上面的代码)。问题是,只有第一个尺寸正确。其余的总是在 height:160px 如果我添加另一个评论它不会更新它的高度。