所以我尝试了每个解决方案,通过网站(本地,未发布)为我的Facebook页面添加一个类似按钮。但由于某些原因,这些解决方案都没有奏效。这是我在空白的html文件中尝试的代码。空白我的意思是头部,头衔和身体都是空的,而不是身体部分的下面的代码。
<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";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>
<div class="fb-like" data-href="http://www.facebook.com/ResumeBuildingVolunteering" data-send="false" data-width="450" data-show-faces="true"></div>
答案 0 :(得分:4)
因为您正在使用本地系统
//connect.facebook.net/en_US/all.js#xfbml=1
不起作用。这是因为链接是“协议相对URL”,它采用您正在使用的当前协议。
因此,如果您在Mac上本地工作,该网址将在file:///en_US/all.js#xfbml=1
查找一个文件,但不会显示任何内容。您需要将网址更改为
http://connect.facebook.net/en_US/all.js%23xfbml=1&status=0
答案 1 :(得分:1)
此脚本应放在HTML的底部,就在它关闭</body>
标记之前。原因是,当它被调用时,它会解析页面并呈现Facebook的元素。如果过早地调用它,就像你的情况一样,将找不到这些元素(因为它们还不存在),因此不会被渲染。另一种选择是仅在DOM准备好之后,使用jQuery $(function(){...}
或其他技术调用脚本,或者使用FB页面的异步加载,如explain here
答案 2 :(得分:0)
我遇到了同样的问题。首先尝试使用实际的按钮div:
<div class="fb-like" href="https://www.facebook.com/mypage"> </div>
注意 https上的 s 。
它对我有用。