根据页面更改Facebook评论框的网址?
在我的网站上,我有超过100个页面,现在我想为每个页面添加Facebook评论框。插入Url页面到Facebook后,它给了我这个代码添加到我的页面,但我不想复制并过去到每个页面,然后根据网页名称更改Url。在第二个代码中,可以将网页的实际网址替换为根据页面更改Facebook评论框的网址?
location.href
这样我就不必更改网址了。这甚至有可能吗?我怎样才能做到这一点?
Include the JavaScript SDK on your page once, ideally right after the opening <body> tag.
<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&appId=324524777119";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>
2.将您的插件的代码放在您希望插件出现在您的页面上的任何位置。
<div class="fb-comments" data-href="http://damnthisfunny.site40.net/1.html" data-num-posts="25" data-width="470"></div>
我试过,但它不工作:
<body>
<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&appId=324524777119";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>
<div class="fb-comments" data-href="+location.href+" data-num-posts="25" data-width="470"></div>
</body>
data-href="+location.href+"
你的问题在于你的这部分代码。确保您使用的是完全合格的有效网址。
我能够解决这个使用一点点的JavaScript。我想要的地方出现我所用代码中的注释:
`<div id="fbcomments"></div>
`<script>
`var elemDiv = document.getElementById("fbcomments");
`var markup = '';
`markup += '<fb:comments href="' + location.href + '"></fb:comments>';
`elemDiv.innerHTML = markup;
`FB.XFBML.parse(elemDiv);
`</script>
而不是在FB代码:
`<div class="fb-comments" data-href="http://mysite.com/page" data-num-posts="20" data-width="538" data-colorscheme="dark"></div>
一切都很好,至于评论张贴和代码知道他们属于哪一页至。我遇到的唯一问题是:无论从上面使用哪个代码,评论者的FB配置文件中的链接都会使用相同的/?fb_comment_id =查询字符串链接回评论页面。如果我使用FB代码,评论将显示,但如果我使用JavaScript代码,评论将不会显示?!我迷路了...
我现在发现,即时通讯使用的代码,当你按照从评论者的Facebook配置文件的链接,URL看起来像这样的“http:\\ sitename.com/page/?querystring”(用于\\显示的目的;) 所以我知道问题的评论没有显示时,下面的链接是因为“/”后面的“网页”的网址。使用facebook提供的代码,这不会发生。有谁知道如何解决这个问题? – 2012-02-03 17:05:57
谢谢你(Enlil)!这是我对最后一个想法的返工,因为我只在客户端使用它:
<div id="fbc"></div>
<script>
var elemDiv = document.getElementById("fbc");
var markup = '';
markup += '<div class="fb-comments" data-href="'+location.href+'" data-num-posts="5" data-width="682" style="margin-top:2em;"></div>';
elemDiv.innerHTML = markup;
FB.XFBML.parse(elemDiv);
</script>
<script type="text/javascript" src = "//connect.facebook.net/bg_BG/all.js#xfbml=1&appId=xxxxxxxxxx"></script>
成千上万的感谢!
在这种情况下,当前页面的网址应该显示出来。 – 2012-01-15 18:53:57
这就是我之后的 – 2012-01-15 19:04:30
您是运行服务器端脚本还是每个页面都是静态html文件? – DMCS 2012-01-15 19:12:02