2

我最近为我正在制作的网站编写了自己的博客。我想使用 facebook 来处理帖子的评论,所以我集成了插件。然而,我注意到了一些奇怪的事情。如果我对一篇博文发表评论,然后转到另一篇博文,我的评论也会出现在其他博文上。我怎样才能让每个帖子都有自己的评论集?

4

3 回答 3

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 值必须是唯一的。

于 2012-07-14T19:50:16.357 回答
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>

“我使用” 示例: 以下示例适用于具有动态 url 的页面

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>
于 2012-07-14T19:45:36.123 回答
1

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

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

它完成了这项工作...

于 2015-08-29T11:36:36.930 回答