我从未在开发人员级别与 Facebook 打过交道,我确信我在这里做的事情很明显是错误的。无论如何,这是问题所在:
我从https://developers.facebook.com/docs/reference/plugins/like/生成了类似的按钮代码,然后将其复制到我的页面中。当我尝试查看该站点时,我什么也没有显示。
我注意到脚本部分中的 url 未能包含协议(它出现:“//connect.facebook.net/en_US/all.js#appId=207642302633270&xfbml=1”)。当我查看使用 Firebug 发生了什么时,我可以看到它正在将script
标签插入到 head 部分 - 但 URL 不起作用。我尝试修改它以将“https:”作为协议包含在内,然后我看到脚本被加载,并且它还在头部部分插入了一堆 CSS。
但网站上仍然没有显示任何内容。
我能想到的唯一可能有问题的是我(或者,更具体地说,我的客户)没有任何类型的 Facebook 公司资料 - 如果需要,我可以要求他们设置一个,但这不会是首选选项,因为他们不想为企业维护 Facebook 个人资料。
这是我正在使用的精简示例:
<html>
<head>
<title>Testing the Like Button</title>
<meta property="og:title" content="Company FB Test" />
<meta property="og:type" content="company" />
<meta property="og:url" content="http://www.domain.com/fb-test.html" />
<meta property="og:image" content="http://www.domain.com/logo.png" />
<meta property="og:site_name" content="Site Name" />
<meta property="fb:admins" content="__MY_FB_ID__" />
</head>
<body>
<script>(function(d){
var js, id = 'facebook-jssdk'; if (d.getElementById(id)) {return;}
js = d.createElement('script'); js.id = id; js.async = true;
js.src = "https://connect.facebook.net/en_US/all.js#appId=207642302633270&xfbml=1";
d.getElementsByTagName('head')[0].appendChild(js);
}(document));</script>
<div class="fb-like" data-send="false" data-layout="box_count" data-width="67" data-show-faces="false" data-font="arial"></div>
</body>
</html>
几点注意事项:
- 该示例包括协议“https:” - 如前所述,我也尝试过。
- 这已经在 Chrome 13、Firefox 6 和 IE 9 的最新版本中进行了测试
- 我已经在 Facebook Lint 中对此进行了测试,它没有给我任何错误。
预先感谢任何成功地指出对我来说显而易见的人 - 以及任何其他提出任何友好建议的人。
干杯,扎克