我是 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>
现在我希望能够在我网站的每个页面上放置“赞”按钮。因此,我认为在上面的代码中使用静态链接是没有用的。因此,我有自己的函数,可以将当前页面 URL(包括 URL 中可能存在的任何变量)填充到名为:CURRENT_URL
的常量中。所以我修改后的“赞”按钮代码如下所示:
<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>
当我在我的网站中使用上述修改后的代码时,我没有看到“赞”框。相反,我在 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 只是试图加载网站名称而不解析常量值。我只想要一个可以在整个网站中使用的代码,而无需手动更改网站每个页面的“赞”按钮值。
所以我的问题是:
如何让此 iframe 检测当前页面 URL(包括我可能通过 URL 传递的任何变量)并将“赞”按钮 URL 值填充到当前页面 URL,以便用户可以赞此页面。
感谢所有帮助。谢谢。
更新(解决方案):
我发现这一切存在很大的困惑。实际上有两种类型的 Like 功能。一个是普通的“赞”按钮,另一个是“赞”框。以下是链接:
点赞按钮: http://developers.facebook.com/docs/reference/plugins/like
点赞框: http://developers.facebook.com/docs/reference/plugins/like-box
如果您希望人们喜欢您网站的各个页面,请使用“赞”按钮代码。点赞框要求您输入:Facebook 页面 URL。这意味着您不能使用它来让您的用户喜欢您的网页。 (我仍在努力了解 Facebook 页面 URL 及其工作原理以及何时失败)
希望这些信息可以帮助其他经历同样麻烦和困惑的人。
最佳答案
您只需回显“赞”按钮,就不会遇到此问题 - 类似这样的问题:
function likeButton($url_to_like, $action = "like") {
return sprintf('<script src="http://connect.facebook.net/en_US/all.js#xfbml=1"></script><fb:like href="%s" show_faces="true" width="450" action="%s"></fb:like>',
$url_to_like, $action);
}
我使用的是 javascript 版本,但它与 iframe 相同:)
关于php - Facebook 点赞框 - 能够使用动态 URL 点赞当前页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4843433/