我在我正在创建的网站上添加了一个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标记的正文标签下。
答案 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,导致按钮渲染不正确。