2011-06-14 125 views
9

长短:它从Facebook的另一个页面通过jQuery.load()类型的东西加载时不显示Facebook评论。当您直接转到正在灯箱中加载的页面时,显示的FB评论jQuery的加载()和Facebook的评论

灯箱是一个自定义dealie,我写在jQuery中,从帖子的永久链接页面加载发布容器DIV。要查看发生了什么,请访问http://frank.is/blog/。使用主链接在Lightbox中查看帖子,然后点击PERMA →以在自己的页面上查看该帖子。它应该是不言自明的。

我的问题:我需要添加什么来允许这些评论出现在灯箱的东西呢?

回答

26

在将这个你AJAX呼叫输出:

<div id="fb-root"></div> 
<script src="http://connect.facebook.net/en_US/all.js#xfbml=1"></script> 
<fb:comments href="www.example.com" num_posts="2" width="500"></fb:comments> 

<script>FB.XFBML.parse();</script> 

应该工作得很好!

+3

FB.XFBML.parse();你是个天才!我添加了FB.XFBML.parse();而不是写你写的东西。在阿贾克斯打电话 – 2011-10-25 01:41:45

+0

如果我可以给你一百个赞扬,我会=) – 2012-08-30 21:32:05

+0

百万upvotes! – 2013-08-22 14:53:47

5

Facebook API令我烦恼。目前还不清楚在哪里获得信息,所以我感到你的痛苦。

说到这里,看起来您已经在lightbox中初始化了未初始化的XFBML。它看起来像你需要重新加载数据后重新分析。

<fb:comments migrated="1" publish_feed="true" width="600" numposts="10" href="http://frank.is/blog/2011/05/26/google-apps-on-iphone-connection-to-the-server-failed/" xid="VQ4yhN59hJmmSXq_post73"></fb:comments> 

您可以尝试手动调用parse你XFBML加载到收藏夹后:

FB.XFBML.parse(); 

或目标的组件来优化负载:

FB.XFBML.parse(document.getElementById('fbComments')); 
+0

我把它放在load()回调函数中无济于事。我不是把它放在正确的地方吗? – Frank 2011-06-14 18:16:37

+0

我刚刚注意到您未在着陆页上加载或初始化您的Facebook JDK。你确实在单个帖子页面上有它。您需要加载并初始化Facebook JDK,然后在加载注释XFBML时手动强制解析。 – digitaldreamer 2011-06-14 19:31:21