在Ajax生成的页面/网站上显示Facebook评论

时间:2012-09-03 14:52:01

标签: ajax facebook wordpress twitter comments

我已经深入研究了可能的StackOverflow解决方案3天以上......基本上已经尝试过任何建议 - 但我似乎无法让它工作。

我有一个已购买主题的wordpress网站。此主题使用Ajax加载其页面&帖子。该网站可在此处找到:http://www.eonevent.com - 作为示例。

我现在面临的是,当通过常规导航选项访问此页面(http://www.eonevent.com/#/socialize)时,Facebook注释和twitter窗口小部件都未加载或显示。但是在访问没有"#/"的页面时它确实有用。

现在我一直在阅读你必须使用FB.XFBML.parse进行Facebook评论 - 但我无法做出那样的工作......我尝试了很多不同的选择

我目前的设置如下......

这是header.php文件中代码的一部分:

<div id="fb-root"></div>
<script>
     (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/nl_NL/all.js#xfbml=1&appId=373787556026745";    
          fjs.parentNode.insertBefore(js, fjs);
     }
     (document, 'script', 'facebook-jssdk'));
</script>

这是我在必须出现评论的页面上使用的内容:

<fb:comments href="<?php the_permalink(); ?>" num_posts="2" width="500">     
</fb:comments>

然后我试图通过添加:

来完成所有工作
FB.XFBML.parse

但一切都没有用。

任何建议都非常受欢迎 - 关于twitter小部件也是如此。 我似乎无法弄明白 - 即使它可能很简单!

提前致谢,

1 个答案:

答案 0 :(得分:1)

尝试将此代码放入jQuery脚本中AJAX调用的成功部分。 您可能正在使用jQuery get / post / ajax等..

//facebook comments
var isFacebook = $(data).find('.fb-comments');
var document = window.document;
var contentNode = $(".content");       
if(isFacebook != 'undefined' ) {
    var scriptText = 'FB.XFBML.parse();';
    var scriptNode = document.createElement('script');
    scriptNode.appendChild(document.createTextNode(scriptText));
    contentNode.appendChild(scriptNode);
}