Facebook自定义共享按钮未显示说明

时间:2014-02-07 15:35:29

标签: javascript facebook-opengraph facebook-sharer

我正在使用以下JS代码在Facebook上分享。

function openFbPopUp() {
    var fburl = 'http://54.251.121.6/cnc/cupcakes-n-chai-side-table';
    var fbimgurl = 'http://imageURL';
    var fbtitle = 'Your title';
    var fbsummary = "This is the description blah blah blah";
    var sharerURL = "http://www.facebook.com/sharer/sharer.php?s=100&p[url]=" + encodeURI(fburl) + "&p[images][0]=" + encodeURI(fbimgurl) + "&p[title]=" + encodeURI(fbtitle) + "&p[summary]=" + encodeURI(fbsummary);
    window.open(
      sharerURL,
      'facebook-share-dialog', 
      'width=626,height=436'); 
    return  false;
}

在弹出窗口中,Description文本似乎很好。但是在Facebook上看到时,描述没有出现

分享时,可以看到说明(摘要文字)Description Can be seen

说明(摘要文字)未在Facebook中显示。

Description not showing up

1 个答案:

答案 0 :(得分:0)

在您分享的任何页面上,请尝试执行以下操作:

<meta property="fb:app_id" content="{Your_App_ID}"/>
<meta property="og:url" content="http://54.251.121.6/cnc/cupcakes-n-chai-side-table"/>
<meta property="og:title" content="Your title"/>
<meta property="og:image" content="http://imageURL"/>
<meta property="og:description" content="This is the description blah blah blah">

但是,如果你已经在使用JS,那么使用Facebook JS SDK怎么样?

只需将以下代码放在标记之后:

<div id="fb-root"></div>
<script>
  window.fbAsyncInit = function() {
    FB.init({
      appId      : '{your-app-id}',
      status     : true,
      xfbml      : true
    });
  };

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

然后,要调用共享对话框,只需调用以下内容:

FB.ui({
        method: 'feed',
        name: 'Your title',
        link: 'http://54.251.121.6/cnc/cupcakes-n-chai-side-table',
        picture: 'http://imageURL',
        caption: '',
        description: 'This is the description blah blah blah',
        ref: '{your_reference_call_here}'
});

我个人的经验表明,使用JS SDK分享内容比使用URL重定向方法更安全(确保没有错误)。