无法实现 Facebook 的“喜欢”按钮

Posted

技术标签:

【中文标题】无法实现 Facebook 的“喜欢”按钮【英文标题】:Trouble implementing Facebook 'like' button 【发布时间】:2011-07-18 21:46:29 【问题描述】:

这是我放在网站上的代码:

<iframe src="http://www.facebook.com/plugins/like.php?app_id=5766773068&amp;href&amp;send=false&amp;layout=standard&amp;width=47&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:47px; height:35px;" allowTransparency="true"></iframe>

实现的示例 URL 是:

http://www.scirra.com/blog

每当我按“赞”时,似乎什么都没有发生,如果我扩大帧大小以查看发生了什么,它只会显示“错误”。

我一直在尝试使用:

http://developers.facebook.com/docs/reference/plugins/like/

但有时给我代码有时不给我代码真的很喜怒无常。我是否 来指定 URL?我假设不需要“喜欢”当前页面。

请注意,在我的主页上,like 按钮可以正常工作,但指定了 url。那么任何人都可以看到我做错了什么吗?

【问题讨论】:

【参考方案1】:

正如 phadej 所指出的,您在 iFrame 调用中缺少 href 属性。 Like 按钮文档中需要注意的是:

href - 喜欢的 URL。 XFBML 版本默认为当前页面。

您使用的是 iFrame 版本,所以这就是为什么您必须包含 href

Facebook URL linter 是您可能想要添加书签的一个有用工具,它会显示您的 Open Graph 标记中的任何错误或缺少的信息,并尝试帮助您找出任何问题。

【讨论】:

【参考方案2】:

你没有在 iframe 的 src 参数中设置href 参数。

比较你的代码

...766773068&amp;href&amp;send=false&a...

生成

...76677306&amp;href=http%3A%2F%2Fwww.scirra.com%2Fblog&amp;send=false&a...

【讨论】:

HTTP 参数是强制性的吗?我希望它采用当前页面的 url,如果可能的话不要指定。 这是一个关键参数 - 它告诉 facebook 你想要哪个页面。由于like-button在iframe里面,它对周围的页面知之甚少。正如 API 引用所告诉的那样——“href——喜欢的 URL。XFBML 版本默认为当前页面。” -- 暗示 iframe-version 是强制性的

以上是关于无法实现 Facebook 的“喜欢”按钮的主要内容,如果未能解决你的问题,请参考以下文章

如何检测 Facebook 喜欢的按钮被点击?

喜欢 Facebook 页面按钮

像Button不正常工作

钛 facebook 喜欢按钮

Facebook 喜欢按钮错误 - 被阻止的框架

带有消息的 Facebook 喜欢按钮