Facebook分享按钮问题

9
我想创建一个分享链接的按钮,使用Facebook分享按钮:http://www.facebook.com/facebook-widgets/share.phphttp://wiki.developers.facebook.com/index.php/Facebook_Share 链接。然而,当我尝试在URL中使用值时,它们无法工作。甚至我尝试使用API页面上的示例,http://www.facebook.com/sharer.php?u=http%3A%2F%2Fdevelopers.facebook.com%2F&t=Facebook%20Developers,它也不起作用......它将标题设置为developers.facebook.com而不是URL中指定的Facebook Developers。有人知道如何让这个正确地工作吗? 我希望我的分享链接显示为...'我要分享的标题'然后...直接链接到该项。
5个回答

5

是的,那么t值有什么意义呢?当我制作URL时,它会弹出我的标题,然后更改它...我唯一的解决方案是为这些特定链接创建动态标题吗?因此,当Facebook从该URL加载页面详细信息时,它会获取我想要的<title>吗? - ian
当使用类似于u=http://www.mysite.com的东西时,Facebook分享页面会加载My Site Title,然后在思考片刻后将其更改为www.mysite.com - ian
是的,这就是Facebook的做法。不确定为什么。这是你的网站吗?你可以更改标题或创建一个带有你想要的标题的页面,然后重定向到你想要的页面。 - leepowers
即使我尝试为我的网站制作动态标题以供Facebook检测,但它仍然失败并将标题还原为www.site.com。 - ian
Facebook从哪里获取标题呢?通常情况下,它会从<title>标签中获取标题;但是,如果你链接到一个特定的锚点(比如http://www.example.com/foo.html#bar),它会获取锚点附近的一些内容。具体是怎么做到的呢?我问这个问题是因为我碰巧在锚点附近有一个<script>标签,而Facebook使用了部分javascript代码作为标题!(太愚蠢了!) - matteo
那么如果需要,剪切计数器呢? - Divakarcool

5

1

Facebook会爬取给定的URL以寻找Open Graph元标签。如果这些标签存在,它会优先考虑这些标签的内容。以下是Open Graph标签的示例:

<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:og="http://ogp.me/ns#"
      xmlns:fb="http://www.facebook.com/2008/fbml">
  <head>
    <title>The Rock (1996)</title>
    <meta property="og:title" content="The Rock"/>
    <meta property="og:type" content="movie"/>
    <meta property="og:url" content="http://www.imdb.com/title/tt0117500/"/>
    <meta property="og:image" content="http://ia.media-imdb.com/rock.jpg"/>
    <meta property="og:site_name" content="IMDb"/>
    <meta property="fb:admins" content="USER_ID"/>
    <meta property="og:description"
          content="A group of U.S. Marines, under command of
                   a renegade general, take over Alcatraz and
                   threaten San Francisco Bay with biological
                   weapons."/>
    ...
  </head>
  ...
</html>

更多信息请参见http://developers.facebook.com/docs/opengraph/


0
我也遇到了这个问题,但是我已经找到了问题所在,因为我没有把Facebook代码放在那个文件中http://bannedadsense.com/banned-adsense-list/isbanned,我当时真的很愚蠢,浪费了时间去修复,但现在我很幸运,我已经解决了,只需要将fb代码复制到您想使用fb共享按钮的所有页面即可。
<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/sdk.js#xfbml=1&version=v2.8&appId=put_number_id_here";
  fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接