0

我的页面上有多个用户可以打开和探索的内容块。在这些块中有一个与每个块相关的 Like 按钮。每个 Like 按钮小部件都有一个 URL,该 URL 在打开内容块时动态生成,例如

$('.socialMedia').append("<div class='fb-like' data-href='"+likeUrl+"' data-send='true' data-width='250' data-show-faces='false' data-colorscheme='dark'></div>");

Like URL 是格式为http://url.com/like-shY76739jj.php的地址- 当访问此类 URL 时,通过一些 .htaccess 魔术重定向到查询字符串 URL。但是,这可能与我的问题无关......

问题是通过 Javascript 生成的动态 URL 不会发送到 Facebook。它在我的源代码中正确生成(检查 Like Button 元素显示正确的 URL 位于小部件 href 属性中),并正确显示在 Like 按钮弹出窗口中(单击按钮后,当用户拥有选择输入附加消息),但是当我在 Facebook 上查看故事时,URL 不正确 - 特别是它返回为:

http://url.com/like-.php - 我插入到我的 likeURL 变量的动态 ID 没有从页面转换为 Facebook 故事。我不知道为什么。

我已经在使用FB.XFBML.parse(document.getElementById('socialMedia'));代码,但这并不能解决问题。

TL:DR Facebook Like 按钮中使用的动态 URL 在小部件中正确显示,但不会在生成的 Facebook 故事中显示。

谢谢你的帮助!

4

1 回答 1

0

您的每个http://url.com/like-[...]页面都应该有 OpenGraph 标签 - og:title、og:image 等。例如:

<meta property="og:title" content="Your section - your website" /> 
<meta property="og:type" content="website" />
<meta property="og:url" content="URL_OF_PAGE" />
<meta property="og:image" content="http://url.com/images/section1.jpg" />
<meta property="og:description" content="Description"/>

您可以使用 OpenGraph 调试器测试您的网址 - https://developers.facebook.com/tools/debug

于 2013-05-19T16:47:35.840 回答