Facebook 评论插件 - 每个页面都有相同的评论

Posted

技术标签:

【中文标题】Facebook 评论插件 - 每个页面都有相同的评论【英文标题】:Facebook comments plugin - same comments on every page 【发布时间】:2012-02-10 08:31:44 【问题描述】:

我网站上的 Facebook cmets 运行良好,但当有人在一篇文章上发表评论时,网站上的每篇文章都会出现​​相同的评论。显然,我不想那样。我所做的基本上是复制和粘贴 developer.facebook.com 上提供的代码:

      `<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/en_US/all.js#xfbml=1";
      fjs.parentNode.insertBefore(js, fjs);
      (document, 'script', 'facebook-jssdk'));</script>`


     `<div class="fb-comments" data-href="http://example.com" data-num-posts="2" data-                                      ></div>`

我做错了什么?我将不胜感激。

视频

【问题讨论】:

【参考方案1】:

您在所有页面上为 cmets 社交插件使用相同的 data-href 属性(将 cmets 链接到 http://example.com)

您应该在放置的每个页面 cmets 社交插件上提供帖子的 URL 或将此属性留空(如果此属性缺失或为空,则默认使用当前页面 URL)。

【讨论】:

我输入了example.com/some/page。但它在 iframe 中变为 example.com。但是为您 +1,因为我最终删除了 data-href 属性。【参考方案2】:

我有同样的问题,尝试了“juicy scripter”提供的解决方案,我得到“cmets 插件需要一个 href 参数。”然后我发现如果你使用插件的 XFBML 版本,juicy 的解决方案应该可以工作。

无论如何,我在我的静态 php 网站上实施的解决方案是 用此代码替换 href/URL

    <?php echo('http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']); ?>

【讨论】:

请使用 cmets 进行讨论。 ops 很抱歉第一次来这里,希望我能通过添加解决方案来解决问题。 感谢分享您的解决方案 :)【参考方案3】:

不要使用data-href 的根 URL。您需要为每个页面动态生成 url。例如。如果这是一个 WordPress 博客,你会使用 php 代码data-href="&lt;?php echo(get_permalink()) ?&gt;"

【讨论】:

【参考方案4】:

这可以正常工作,但我发现在一个站点中我无法使用 PHP。所以这对我来说是一个 javscript 解决方案。用这个 javascript 代码简单地替换 cmets div...

<script>document.write("<div class='fb-comments' data-href='" + window.location.href + "' data-num-posts='2' data-width='470'></div>");</script>

【讨论】:

【参考方案5】:

试试这个:

注意:

在上面的行中

将上面的代码粘贴到

class='post-footer-line post-footer-line-3

签到:http://debaonline4u.blogspot.com

【讨论】:

【参考方案6】:

我将页面 url 放在域之后,这对我有用。 MyDomain 是我在 Facebook cmets 上创建代码时退出的域。

<div class="fb-comments" data-href="http://MyDomain/Mypage URL" data-numposts="5" data-colorscheme="light"></div>

【讨论】:

【参考方案7】:

问题是 data-href。

改用动态网址。

例如。如果您想分别为每个页面添加 Facebook 评论。

PHP:

data-href="<?php echo 'http://'. $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI']; ?>"

希望对某人有所帮助。

【讨论】:

【参考方案8】:

由于需要分离关注点......“data-href”标签在那里服务......

例如:如果您有某个页面 www.example/123.com,,,, 您的 data-href 值必须是 www.example/123.com....

这样做意味着渲染和存储 cmets www.example/123.com 并且它不会出现在其他页面上....

【讨论】:

以上是关于Facebook 评论插件 - 每个页面都有相同的评论的主要内容,如果未能解决你的问题,请参考以下文章

使用 Facebook 评论插件的应用评论在刷新后消失

在本地测试 Facebook 评论插件

如何在 UIWebView 中使用 Facebook 评论插件

URL 更改后的 Facebook 社交插件评论

Blogger 上的每篇文章都会出现​​相同的 Facebook 评论

Facebook 社交插件和 jQuery 问题