0

我正在尝试在我的页面上实现 Like 按钮。

这些页面代表产品的评论页面。当用户喜欢该页面时,它会显示在 Facebook 中(不是作为链接,而是作为喜欢一个实体),但是当您单击 Facebook 中的实体时,它会链接到代表该页面的 facebook.com 托管页面。我希望用户被重定向到 og:url 页面?

例如,当您喜欢 Grooveshar 上的艺术家页面时,就会发生这种情况:http://grooveshark.com/#!/artist/Elbow/ 4795

我显然是“做错了”。

我正在使用以下标记来包含 SDK。MYAPPID 包含在 Facebook 提供的代码生成器中,所以我认为它是必需的。

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

然后是我的代码来呈现 Like 按钮。

<div class="fb-like" data-send="false" data-width="450" data-show-faces="true"></div>

最后是我的 og 标签:

<meta property="og:title" content="My product" />
<meta property="og:type" content="product" />
<meta property="og:url" content="http://site.com/product_1/" />
<meta property="og:image" content="http://site.com/image1.jpg" />
<meta property="og:site_name" content="My-Site-Name.com" />
<meta property="fb:admins" content="MYFACEBOOKID" />
<meta property="fb:app_id" content="MYAPPID" />

谢谢!

4

2 回答 2

1

听起来您将该 URL 的管理页面与 URL 本身混淆了,但我可能是错的,因为管理页面顶部有一条消息解释这个看起来像这样: 管理页面消息

只有管​​理员才能看到 Facebook 上的管理页面,其他用户将被带回到og:url被赞的 URL 上定义的值。如果您没有在 HTML5 Like 插件中指定 data-href 参数,这将是当前页面或og:url当前页面元标记上的任何值

检查Facebook 的调试工具对您想要喜欢的 URL 的说明,并确保标签被正确读取

于 2012-06-18T09:12:21.910 回答
0

Grooveshark 示例的问题在于它们使用的是#!url。如果您喜欢http://grooveshark.com/artist/Elbow/4795它,它将正常工作。如果您使用这样的 URL 模式,那么您将遇到问题,并且您需要覆盖 like 按钮才能在没有它的情况下点击 url。

于 2012-06-18T09:14:44.357 回答