2012-01-03 64 views
3

我的网站上的脸书评论框有点问题。我无法找到一种方式将它们链接到他们所在的网址上。例如,在我的网站上发布1的fb评论在我的所有帖子之间共享,这对用户来说可能有点误导。我每天发布大约100个帖子(主要是图片),我无法为每个人都创造一个新的框。如何将Facebook评论部件链接到当前网址?

这里是一个的困扰着我的一段代码:

<div class="fb-comments" data-href="funshit.ru" data-num-posts="5" data-width="530" data-colorscheme="dark"></div> 

如果只是有办法使它链接到当前的URL problem'd来解决。

任何帮助表示赞赏m8s。

+0

如果你可以使用PHP,那么这样的事情...'数据HREF =“http://funshit.ru <?=用htmlspecialchars($ _ SERVER [“REQUEST_URI”],ENT_QUOTES)?>“' – 2012-01-03 14:04:58

+0

感谢您的尝试。虽然没有帮助。一旦我把它放在它不断分享与每一个职位的意见+它开始告诉“无法访问[链接](http://invalid.invalid/?= htmlspecialchars($ _SERVER%5B)” – user1127954 2012-01-03 14:11:45

回答

3

您可以省略data-href(或保留空白),以便使用当前URL。

更新:
截至2012年5月的上述方法是Facebook的评论框的第一个版本唯一的工作。

要使用较新版本的评论社交插件,您需要明确指定当前URL。

+0

感谢您这个想法,但如果我这样做,说这个小部件需要一个href参数 – user1127954 2012-01-03 14:13:46

+0

刚刚检查,按预期工作(无论是空的还是缺少'data-href'属性)你是否在谈论“黄色笔记”,建议指定此属性,或者关于出现在“红色”中的一些错误? – 2012-01-03 14:24:01

+0

这对我来说是一个错误 – Rimian 2012-09-19 00:13:09

0

这一次似乎是万无一失,大大简单:

// In the next line, you must grab the parent element of the div with class fb-comments. 

var oComments = document.querySelector("#CONTAINER-OF-COMMENTS-BOX"); 

oComments.innerHTML = '<div class="fb-comments" data-href="http://www.whatever.com/" data-num-posts="NUMBER OF POSTS TO SHOW" data-width="WIDTH OF CONTENT"></div>'; 

FB.XFBML.parse(oComments); 

您也可以使用jQuery选择父元素,像这样:

var oComments = $(".fb-comments").parent().get(0); 

确保改变fb-comments divdata-href属性更改评论所关注的网址。您还应该调整data-num-posts以显示内容的宽度,并调整data-width。这应该做到!

5

因为CMS我是编码不可靠返回当前的URL,并保留为空或省略它失败了,我写在Javascript div标签:

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

当然,这将包括数据在查询字符串中,但你应该能够排除,如果这就是你想要的。

+0

简单而棒极了。这个'

0

我是博主,我在我的博客(www.it.itmrk.com)的脚本下面使用,它正在为我工​​作。

<script type='text/javascript'> 
    var postUrl = '<data:post.url/>'; 
    document.write("<div class="fb-like" data-href='" + postUrl + "' data-layout="standard" data-action="recommend" data-show-faces="true" data-share="true"></div>"); 
</script> 

其相应地给出各个帖子的链接。它也许对你有帮助。

请检查出来......