动态Facebook喜欢使用Javascript显示但不发布的网址

时间:2013-05-19 14:16:56

标签: facebook facebook-like facebook-javascript-sdk

我的网页上有多个内容块供用户打开和浏览。在这些块中是与每个块相关的Like按钮。每个Like按钮小部件都有一个在打开内容块时动态生成的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按钮元素显示正确的URL在小部件href属性中),并在Like按钮弹出窗口中正确显示(单击按钮后,当用户具有选择输入附加信息),但当我在Facebook上查看故事时,网址不正确 - 特别是它返回:

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

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

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

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

每个http://url.com/like-[...]页面都应该有Open Graph标签 - 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"/>

您可以使用Open Graph Debugger - https://developers.facebook.com/tools/debug

测试您的网址