Facebook分享按钮和自定义文本

时间:2011-05-26 12:53:02

标签: facebook

有没有办法让facebook分享按钮在墙上或新闻提要上发布自定义文字?

9 个答案:

答案 0 :(得分:90)

我们使用这样的东西[在一行中使用]:

<a title="send to Facebook" 
  href="http://www.facebook.com/sharer.php?s=100&p[title]=YOUR_TITLE&p[summary]=YOUR_SUMMARY&p[url]=YOUR_URL&p[images][0]=YOUR_IMAGE_TO_SHARE_OBJECT"
  target="_blank">
  <span>
    <img width="14" height="14" src="'icons/fb.gif" alt="Facebook" /> Facebook 
  </span>
</a>

答案 1 :(得分:30)

要向facebook分享自定义参数,最好只给出链接,Facebook会自动从您共享的页面获取标题+描述+图片。 为了“帮助”facebook API找到这些东西,你可以将以下内容放在你正在分享的页面的标题中:

<meta property="og:title" content="title" />
<meta property="og:description" content="description" />
<meta property="og:image" content="thumbnail_image" />

Check here

如果页面不在您的控制之下,请使用上面分享的 AllisonC

对于弹出式模态视图类型行为:

使用您自己的按钮/链接/文本然后您可以通过这种方式使用模式视图类型的弹出窗口:

<script type= 'text/javascript'>
$('#twitterbtn-link,#facebookbtn-link').click(function(event) {
var width  = 575,
    height = 400,
    left   = ($(window).width()  - width)  / 2,
    top    = ($(window).height() - height) / 2,
    url    = this.href,
    opts   = 'status=1' +
             ',width='  + width  +
             ',height=' + height +
             ',top='    + top    +
             ',left='   + left;

window.open(url, 'twitter', opts);

return false;
});
</script>

其中twitterbtn-link和facebookbtn-link都是主持人。

答案 2 :(得分:12)

使用此功能派生自IJas提供的链接

function openFbPopUp() {
    var fburl = '';
    var fbimgurl = 'http://';
    var fbtitle = 'Your title';
    var fbsummary = "your description";
    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;
}

或者,如果使用FB JavaScript SDK获得更多受控回调函数,您也可以使用最新的FB.ui函数。

参考:FB.ui

    function openFbPopUp() {
        FB.ui(
          {
            method: 'feed',
            name: 'Facebook Dialogs',
            link: 'https://developers.facebook.com/docs/dialogs/',
            picture: 'http://fbrell.com/f8.jpg',
            caption: 'Reference Documentation',
            description: 'Dialogs provide a simple, consistent interface for applications to interface with users.'
          },
          function(response) {
            if (response && response.post_id) {
              alert('Post was published.');
            } else {
              alert('Post was not published.');
            }
          }
        );
    }

答案 3 :(得分:8)

您有几种选择:

  1. 使用标准的FB分享按钮,并通过页面上的Open Graph API和元标记设置文字。
  2. 使用FB.ui的stream.publish方法代替共享,让您在运行时控制网址,标题,标题,说明和缩略图。
  3. 或使用http://www.facebook.com/sharer.php和适当的参数。

答案 4 :(得分:6)

您可以使用Facebook提供的异步JavaScript SDK并设置其参数值

来自定义Facebook共享对话框

查看以下代码:

<script type="text/javascript">
  $(document).ready(function(){
    $('#share_button').click(function(e){
      e.preventDefault();
      FB.ui(
        {
          method: 'feed',
          name: 'This is the content of the "name" field.',
          link: 'URL which you would like to share ',
          picture: ‘URL of the image which is going to appear as thumbnail image in share dialogbox’,
          caption: 'Caption like which appear as title of the dialog box',
          description: 'Small description of the post',
          message: ''
        }
      );
    });
  });
</script>

在复制和粘贴以下代码之前,您必须首先初始化SDK并设置jQuery库。请click here逐步了解如何设置相同的信息。

答案 5 :(得分:4)

这是目前的解决方案(2014年12月)并且效果很好。它的特色是

  • 打开一个弹出窗口
  • 自包含代码段,不需要任何其他内容
  • 使用或不使用JS。如果JS被禁用,共享窗口仍会打开,尽管不是一个小弹出窗口。

<a onclick="return !window.open(this.href, 'Share on Facebook', 'width=640, height=536')" href="https://www.facebook.com/sharer/sharer.php?u=href=$url&display=popup&ref=plugin" target="_window"><img src='/_img/icons/facebook.png' /></a>

$ url var应定义为要共享的URL。

答案 6 :(得分:0)

这是Facebook提供的简单对话Feed。 请阅读此处了解更多详情 link

答案 7 :(得分:-2)

你可以将AllisonC的想法与window.open功能结合起来: http://www.w3schools.com/jsref/met_win_open.asp

function openWin(url) {
    myWindow = window.open(url, '', 'width=800,height=400');
    myWindow.focus();
}

然后在每个链接上使用正确的社交网址调用openWin函数。

答案 8 :(得分:-3)

试试这个网站http://www.sharelinkgenerator.com/。希望这会有所帮助。