Facebook喜欢盒子没有显示

时间:2013-03-30 20:04:18

标签: javascript facebook facebook-javascript-sdk facebook-social-plugins

我在我正在创建的网站上添加了一个Facebook Like框,它只会在登录Facebook时显示。当他们躲开时,类似的盒子消失了,不允许任何新来的网站能够看到它。我已经包含了facebook告诉你的所有代码,但没有快乐。

是的,请有人帮助我。

我使用过的代码:

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

HTML代码

<div id="fb_like">
<fb:like-box href="https://www.facebook.com/pages/Emma-Nolan-Mobile-Beauty-    and-Holistic-Therapy/230397297018772" width="300" height="185" show_faces="true"     stream="false" header="false" border_color="#FFFFFF"></fb:like-box>
</div>

该网站未使用HTML5,所以即时使用XFBML。这与Facebook设置本身有关吗?这只是一个商业页面。

我已将脚本放在头部标签和页面底部以允许加载,并将其直接放在Facebook标记的正文标签下。

3 个答案:

答案 0 :(得分:1)

将名称空间添加到文档的html标记中。

<html xmlns:fb="http://ogp.me/ns/fb#">

将此代码直接添加到&lt;身体&gt;标签即可。注意:请务必将正确的应用ID 附加到js sdk。

<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=YourAppIdHere";
  fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>

目标网页的fb网址中有空格。

<div id="fb_like">
<fb:like-box href="https://www.facebook.com/pages/Emma-Nolan-Mobile-Beauty-and-Holistic-Therapy/230397297018772" width="300" height="185" show_faces="true" stream="false" header="false" border_color="#FFFFFF"></fb:like-box>
</div>

答案 1 :(得分:0)

我也一直在处理这个问题。客户/企业主是否为其页面设置了任何国家或年龄限制?如果设置了人口统计限制(仅允许来自特定国家/地区的访问者,或者排除来自特定国家/地区的访问者),则不会为未登录的用户显示Fb like框。这是设置人口限制的结果,据我所知,除了打开页面并摆脱所有限制之外无法解决。希望这可以帮助。请参阅此处的类似主题:Facebook Like Box plugin doesn't show up for logged out users; only for logged in users

答案 2 :(得分:0)

我认为你的头标记中没有包含javascript sdk,导致按钮渲染不正确。