我想在每个页面上显示一个FB注释框,但是有自己的注释特定于该页面

时间:2012-07-14 16:19:06

标签: facebook plugins comments facebook-javascript-sdk facebook-social-plugins

我最近编写了自己的博客,用于制作网站。我想用facebook来处理帖子的评论,所以我整合了插件。但是我注意到了一些奇怪如果我评论一篇博客文章,然后转到另一篇博文,我的评论也在其他博客文章中。我如何制作,以便每个帖子都有自己的评论集?

3 个答案:

答案 0 :(得分:4)

您必须为每个帖子设置不同的data-href属性。这是我在Yii中如何做的一个例子:

<div class="fb-comments" data-href="http://domain.com/post/view/<? echo $model->id; ?>" data-num-posts="4" data-width="695"></div>

关键是每个帖子的data-href值必须是唯一的。

答案 1 :(得分:2)

假设您使用的是html5评论框。

请参阅: https://developers.facebook.com/docs/reference/plugins/comments/

data-href="" // data href设置框的url“object id”,你需要使用带有php或javascript的动态系统或你编写的语言。


<div style="padding-left:5px; min-height:500px" class="fb-comments" data-href="'+newUrl+'" data-num-posts="20" data-width="380"></div>

“我使用”示例: 以下示例适用于具有动态网址的网页<​​/ p>

example.com?id=thisid&thisarticle=article-name

<div id="thecomments"></div>
    <script>
    function changeCommentsUrl(newUrl){
    // should refresh fb comments plugin for the "newUrl" variable
    document.getElementById('thecomments').innerHTML='';
    parser=document.getElementById('thecomments');
    parser.innerHTML='<div style="padding-left:5px; min-height:500px" class="fb-comments" data-href="'+newUrl+'" data-num-posts="20" data-width="380"></div>';
    FB.XFBML.parse(parser);
    }
    var thisurl = document.write(document.URL);
    changeCommentsUrl(thisurl);
    </script>

答案 2 :(得分:1)

您可以简单地将这种代码段放在页脚中:

<script>
    $(".fb-comments").attr("data-href", window.location.href);
</script>

它完成了这项工作......