【发布时间】:2011-01-30 14:35:45
【问题描述】:
我是 Facebook 新手,我正在尝试将 Facebook 点赞按钮添加到我的网站。从 Facebook 的开发者部分,我得到了添加点赞按钮的以下代码:
<iframe src="http://www.facebook.com/plugins/likebox.php?href=http://www.mysite.com&width=292&colorscheme=light&show_faces=false&stream=false&header=false&height=62" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:292px; height:62px;" allowTransparency="true"></iframe>
现在我希望能够在我网站的每个页面上放置点赞按钮。出于这个原因,我认为在上面的代码中使用静态链接是没有用的。因此,我有自己的函数,可以在名为 CURRENT_URL
的常量中填充当前页面 URL(包括 URL 中可能存在的任何变量)所以我修改后的 Like 按钮代码如下所示:
<iframe src="http://www.facebook.com/plugins/likebox.php?href=<?php echo CURRENT_URL; ?>&width=292&colorscheme=light&show_faces=false&stream=false&header=false&height=62" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:292px; height:62px;" allowTransparency="true"></iframe>
当我在我的网站中使用上述修改后的代码时,我没有看到 Like 框。相反,我在 iframe 中看到一个错误页面,上面写着:
The page you requested was not found.
You may have clicked an expired link or mistyped the address. Some web addresses are case sensitive.
如果我做一个一般的<?php echo CURRENT_URL; ?,它会显示正确的 URL。常量的值没有问题。这让我觉得 iframe 只是在尝试加载网站名称而不解析常量值。我只想要一个可以在整个网站中使用的代码,而无需手动更改我网站每个页面的 Like 按钮值。
所以我的问题是:
如何让这个 iframe 检测当前页面 URL(包括我可能通过 URL 传递的任何变量)并将 Like 按钮 URL 值填充到当前页面 URL,以便用户可以喜欢这个页面。
感谢所有帮助。谢谢。
更新(解决方案):
我发现对这一切有很大的困惑。实际上有两种类型的 Like 功能。一个是普通的 Like 按钮,另一个是 Like 框。以下是链接:
点赞按钮: http://developers.facebook.com/docs/reference/plugins/like
点赞框: http://developers.facebook.com/docs/reference/plugins/like-box
如果您想让人们喜欢您网站的各个页面,请使用“喜欢”按钮代码。 Like Box 要求您提供:Facebook 页面 URL。这意味着您不能使用它让您的用户喜欢您的网页。 (我仍在努力了解 Facebook 页面 URL 及其工作原理以及何时失败)
希望这些信息可以帮助其他遇到同样麻烦和困惑的人。
【问题讨论】:
标签: php facebook iframe facebook-like