Facebook喜欢本地网站上的按钮

时间:2013-07-18 08:34:19

标签: javascript facebook html5 web facebook-like

我最近接管了一个网站的管理,我已经建立了一个网站的本地测试实例,以便我可以慢慢地进行更改,测试它们等,然后移动它们。无需担心实时版本的完整性。我不得不转换一些hrefs等让它在本地工作,但我遇到的问题是facebook按钮不再显示。

我已经读过,facebook缓存我们网站的方式存在一些问题,有时会导致这个问题,但答案是使用facebook dubugger来测试网站。我不能这样做,因为该网站是本地的,并且类似按钮在实时托管版本上正常工作。

编辑:为了澄清,我之前在本地网站上运行过社交媒体按钮,所以这不是问题所在。这些按钮甚至没有显示在本地测试版本上。

下面是我正在使用的脚本和div(我正在使用facebook的HTML5版本);

<div id="fb-root"></div>
<script type="text/javascript">
(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之一。

<div class="fb-like" data-href="http://www.4siteconsulting.co.uk/case-study-1.html" data-send="false" data-layout="button_count" data-width="100" data-show-faces="false"></div>

div显然与实际网站相关联,因为人们不喜欢本地版本。

有人有任何想法吗?

2 个答案:

答案 0 :(得分:1)

虽然这不是一个令人满意的答案,但我已经从使用Facebook开发者的HTML5版本转换为他们的iframe版本。 iframe具有较少的自定义功能,但只需稍作调整即可在本地运行而不会出现问题。

我必须将“http://”附加到iframe href地址的开头才能在本地工作,但现在一切正常。以下代码现在适用于本地站点(未托管);

<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.4siteconsulting.co.uk%2Fcase-study-2.html&amp;send=false&amp;layout=button_count&amp;width=450&amp;show_faces=false&amp;font&amp;colorscheme=light&amp;action=like&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:80px; height:21px;" allowTransparency="true"></iframe>

答案 1 :(得分:0)

它正在工作,但是你错过了一个&gt;在</div>

之前的最后一行代码中