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="<?php echo(get_permalink()) ?>"
【讨论】:
【参考方案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 评论插件 - 每个页面都有相同的评论的主要内容,如果未能解决你的问题,请参考以下文章
如何在 UIWebView 中使用 Facebook 评论插件