1

我在我正在创建的网站上包含了一个 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 设置本身有关吗?这只是一个商业页面。

我已经将脚本放在 head 标签和页面底部以允许加载,也将它直接放在 Facebook 提到的 body 标签下。

4

3 回答 3

1

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

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

将此代码直接添加到 <body> 标记下方。注意:确保将正确的应用程序 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 url 中有空格。

<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>
于 2013-03-30T21:37:51.963 回答
0

我也一直在处理这个问题。cient/企业主是否为其页面设置了任何国家或年龄限制?当设置了人口统计限制(例如,只允许来自特定国家的访问者,或排除来自特定国家的访问者)时,Fb like 框将不会显示给未登录的用户。这是设置人口限制的结果,据我所知,除非打开页面并摆脱所有限制,否则无法解决。希望这可以帮助。在此处查看类似的线程:Facebook Like Box 插件不会为已注销的用户显示;仅适用于登录用户

于 2013-05-16T21:12:52.120 回答
0

我认为你没有在你的 head 标签中包含javascript sdk,导致不正确的 fb 像按钮渲染。

于 2013-08-08T06:38:54.167 回答