0

我们使用 PrettyPhoto 和最新的化身 3.1.3 允许用户在模态窗口中点赞和发推文。

这很棒,但它没有工作(fb that is )。我还没有找到任何可以使用此功能的人,甚至是 PrettyPhoto 网站本身。

不管怎样,我真的很想用这个。我认为的问题是如何解析 url。

类似 iframe 按钮的 Prettyphoto js 代码是..

<iframe src="http://www.facebook.com/plugins/like.php?locale=en_US&href={location_href}&amp;layout=button_count&amp;show_faces=true&amp;width=500&amp;action=like&amp;font&amp;colorscheme=light&amp;height=23" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:500px; height:23px;" allowTransparency="true"></iframe>

关键似乎是 {location_href}

这是正确的格式吗?在你问之前,是的,在 PrettyPhoto 支持上问过,但是很遗憾,有一大堆人问完全相同的问题而没有答案。

我认为他们使用的js是错误的。

添加:尝试了 parent_location_href 但没有正确解析,还有 parent.location_href 和所有不同的内涵..

看起来我可能必须放绝对链接是...或者我应该放网站 url 后跟 location_href

喜欢http://mydomain.com/ {location_href}

4

1 回答 1

1

Facebook 不支持类似按钮的 iframe 版本。请参阅此处http://developers.facebook.com/docs/reference/plugins/like/

我将使用 xfbml 版本并按照 Tue 文档通过添加命名空间并异步加载 fb js SDK 来做到这一点。

编辑:这是一个快速指南

将此代码直接放在开始的正文标记之后

 <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_GB/all.js#xfbml=1&appId=265199713527696";
  fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>

更改您的 HTML 标记以具有此命名空间

<html xmlns:fb="http://ogp.me/ns/fb#">

然后根据需要将您的 xfbml 按钮放在模态替换值中

<fb:like href="http://yoururl.com" send="true" width="450" show_faces="true" font="arial"></fb:like>

您可能希望使用 fb lint 来帮助检查 facebook 获取了哪些详细信息并刷新 url 的任何数据。这可以在http://developers.facebook.com/tools/debug找到

于 2012-01-08T10:09:33.710 回答