Facebook分享button和自定义文本

有什么办法让facebook分享button在墙上或新闻提要上发布自定义文本?

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

<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> 

给自定义参数的facebook分享它更好地给只有链接和Facebook从您正在分享的页面自动获取其标题+描述+图片 。 为了“帮助”Facebook APIfind这些东西,你可以把下面的东西放在你正在共享的页面的标题中:

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

在这里检查

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

对于popup式模态视图types的行为:

使用你自己的button/链接/文本,然后你可以使用这种方式popup的模式视图types:

 <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都是锚的ID。

使用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进行更多控制的callback函数,也可以使用最新的FB.ui函数。

请参阅: FB.ui

  function openFbPopUp() { FB.ui( { method: 'feed', name: 'Facebook Dialogs', link: 'https://developers.facebook.com/docs/dialogs/', picture: '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.'); } } ); } 

你有几个select:

  1. 使用标准的“FB分享”button,并通过页面上的Open Graph API和元标记设置文本。
  2. 而不是共享,使用FB.ui的stream.publish方法,让您在运行时控制URL,标题,标题,说明和缩略图。
  3. 或者用适当的参数使用http://www.facebook.com/sharer.php

您可以使用Facebook提供的asynchronousJavaScript 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库。 请点击这里一步一步了解如何设置相同的信息。

这是目前的解决scheme(2014年12月),工作得很好。 它的特点

  • 打开一个popup窗口
  • 自包含的代码片段,不需要其他任何东西
  • 有或没有JS的作品。 如果JS被禁用,共享窗口仍然打开,尽pipe不是一个小的popup窗口。

<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。

这是Facebook提供的一个简单的对话框Feed。 在这里阅读更多的细节链接

您可以将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(); } 

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

试试这个网站http://www.sharelinkgenerator.com/ 。 希望这可以帮助。