我想在'灯箱'中添加Facebook评论,但是评论没有加载..我知道这个代码发生了什么..如果我把代码放在任何php文件上然后它可以工作但是当我放置我的lighbox函数里面的代码使用jQuery,注释不加载..plz提示的东西..这是我的代码。
fununction show_image(){
var div_comments = jQuery("<div style=\"float:right;\"></div>")
jQuery("#lightbox").append(div_comments);
var fbcomments = jQuery("<div class=\"fb-comments\" data-href=\"http://example.com/comments\" data-numposts=\"5\"></div>");
div_comments.append(fbcomments); }
关于图像的点击事件,调用show_image()。 我在准备好的函数中调用了加载Facebook评论的功能。这里有加载Facebook评论的功能..
(function(d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) return;
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/en_US/all.js#xfbml=1";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
告诉我哪里错了
答案 0 :(得分:0)
我不知道你是否解决了这个问题,或者坦率地说,我不确定你的意思是“评论不加载”。你可能有两件事:
1)实际的评论框没有加载......因为它甚至没有显示
2)评论框加载但不会填充评论
以下是我的建议:
1) - 这可能是因为您的评论div似乎没有“数据宽度”属性。尝试这样的事情:
var fbcomments = jQuery("<div class=\"fb-comments\" data-href=\"http://example.com/comments\" data-numposts=\"5\" data-width=\"700\"></div>");
这里的问题是你没有为评论设置任何宽度,因此它没有维度。我敢肯定,如果你加载你的页面并检查元素,你会看到评论框实际上已经被附加,但它不会被渲染。这是因为它没有尺寸。由于缺乏更好的描述,它只作为计算机存储器中的“想法”存在......它是一个理论对象。理论对象需要维度才能呈现。另请注意,此情况下的“数据宽度”以像素为单位。您可以根据需要随意更改该号码。我甚至让它们动态地改变宽度以重新调整大小到当前图像宽度。
2) - 这很可能是因为您的功能中没有设置ID来加载Facebook评论。有关如何获取正确ID的信息,请参阅此视频 - http://www.youtube.com/watch?v=WNHfVdK8xik - 。基本上,你必须去facebook开发者页面,在那里创建一个新的应用程序,以便facebook可以为你生成一个ID号。然后你将这个ID引入你的评论加载函数,如:
(function(d, s, id)
{
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) return;
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/en_US/all.js#xfbml=1&appId=207663346095927";
fjs.parentNode.insertBefore(js, fjs);
}
(document, 'script', 'facebook-jssdk'));
在上面的代码中,“207663346095927”是我的具体ID。你必须介绍facebook在你创建应用程序时生成的ID .......
大声笑请不要使用我的ID lololol
无论如何,希望这会有所帮助。祝你好运!