Facebook评论框出现在Ajax Call之后

时间:2011-12-01 20:46:12

标签: jquery ajax facebook wordpress

我正在努力让Facebook评论社交插件here在Wordpress下使用我的Ajax jQuery调用但是不成功。

点击链接后,我通过jQuery load()调用页面。这给我带来了该页面的所有内容。我已经尝试了以下内容:

在加载的页面或原始页面(调用的页面)中添加以下代码:

<div class="fb-comments" data-href="<?php echo $commentsFB; ?>" data-num-posts="5" data-width="500"></div>

如果我在原始页面中添加它,评论框会显示,但我不希望它立即显示,我只希望它在用户点击链接时显示!我能做些什么才能让它发挥作用?我试图通过jQuery使用(字段).hide()来隐藏框,但它不起作用,它显示任何一种方式。

如果您想要一个示例http://dev.bsides.co/wasabi/gol/goleiros/(点击蓝色名称)

3 个答案:

答案 0 :(得分:3)

在调用ajax后使用FB.XFBML.parse();重新生成评论框。

它已经发布在这里

Different Facebook comment box after each ajax call

答案 1 :(得分:1)

刚刚找到了更快改变评论的方法,只需更改href:

    $(".fb-comments").attr('data-href', data_href);
    FB.XFBML.parse();

答案 2 :(得分:0)

嗯,我只是搞清楚了。我点击链接时需要拨打电话并进行渲染。然后,我还重新解析Facebook的东西,并隐藏旧的Facebook评论,如果它存在。显示我的函数更简单,一旦url上的哈希值发生变化就会改变:

$("#goleirosAjax")
    .animate({opacity: "0.5"})
    .html('<p>Loading...</p>')
    .load(url, function() {
        $("#goleirosAjax").animate({opacity: "1"});
        $('.fb-comments').hide();
        $('#goleirosAjax').after('<div class="fb-comments" data-href="'+ window.location.href +'" data-num-posts="5" data-width="500"></div>');
        FB.XFBML.parse($('#goleirosAjax'));
    });