7

我只想在我的网站上有一个基本的 facebook like 按钮。我按照每个 facebooks 网站 (http://developers.facebook.com/docs/reference/plugins/like/) 的说明进行操作。我尝试了HTML5,XFBMLiFrame方法,也没有任何乐趣。所以我想这可能是我的网站干扰的问题。所以我创建了一个简单的 html 页面,如下所示,它仍然在调用错误FB.getLoginStatus()之前给了我调用FB.init()错误。

<html>
<body>
<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/[mypage]" data-send="false" data-width="450" data-show-faces="false"></div>
</body>
</html>

更新:我删除了上面所有的东西回到了iFrame唯一的方法并且它有效,但只在 Firefox 中。Chrome 和 IE9 我仍然一无所获,但没有报告错误。为什么下面的这一行只在 FireFox 中工作(显然 [myPage] 部分被换掉了)?

 <iframe src="//www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.facebook.com%2F[myPage]&amp;send=false&amp;layout=standard&amp;width=450&amp;show_faces=false&amp;action=like&amp;colorscheme=light&amp;font&amp;height=35" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:450px; height:35px;" allowTransparency="true"></iframe>
4

3 回答 3

3

不确定App ID是这里的问题。我也遇到了这个奇怪的错误消息,我只是包含了 FB 开发人员页面提供的 FB Like Button 社交插件的标准代码。

然后我再次浏览插件配置页面并再次复制代码,无论如何都没有改变,注意到生成代码的 HTML 部分几乎没有区别(以前是<fb:like>标签,现在是<div class="fb-like">。无论如何,错误仍然存​​在。

然后我才意识到几周后 FB Like Button 将永久迁移到Open Graph 的内置 Like 操作,如果我理解正确,无论如何你必须创建一个 App ID。

到那时,错误可能就消失了。似乎很难有人对几周后就会消失的东西进行修复。

高温高压

于 2012-10-16T09:51:18.950 回答
2

你是在本地测试吗?在自己调试和搜索了很多之后,我决定在我的网络服务器上对其进行测试,瞧,它成功了!:)

于 2013-11-27T19:50:55.343 回答
1

在我们获取 Like Button 脚本的 Facebook 开发者页面上,Facebook 没有说也需要实现 init() (这可能会解决这个问题,但是如果你还调用了init() 函数??)。

无论如何,Like Button 都不需要 APP ID 才能工作。我相信 Facebook 只是给了我们点赞按钮代码——即使缺少 init() 函数会导致这个 js 错误(但显然 init() 实际上并不需要!)。

这似乎是 FB 部署 Like Button API 的一个缺点。

于 2013-04-16T13:54:33.203 回答