首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >自定义facebook共享按钮

自定义facebook共享按钮
EN

Stack Overflow用户
提问于 2014-02-26 17:28:15
回答 7查看 128.2K关注 0票数 19

我想在facebook上分享我的网站文章(内容,图片,标题)!

但是facebook没有检测到正确的图像。

在本例中,我放置了一个静态图像URL。

这是我的代码:

代码语言:javascript
复制
<li>
    <a id="buttton"  href="http://www.facebook.com/sharer.php?s=100&amp;p[title]=<?php echo $title;?>&amp;p[summary]=<?php echo $summary;?>&amp;p[url]=<?php echo urlencode($url);?>&amp;p[images][0]=http://www.example.com/images/report/daily_report/KNDR/image(2).jpg" onclick="javascript:window.open(this.href, '', 'menubar=no,toolbar=no,resizable=no,scrollbars=no,height=400,width=600'); return false;">
        <img src="<?php echo base_url()?>media/images/share.png" alt=""/>
    </a>
</li>
EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2014-02-26 17:43:03

可以使用facebook javascript sdk。首先将FB Js SDK添加到您的代码中(请参考https://developers.facebook.com/docs/javascript)

代码语言:javascript
复制
window.fbAsyncInit = function(){
FB.init({
    appId: 'xxxxx', status: true, cookie: true, xfbml: true }); 
};
(function(d, debug){var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0];
    if(d.getElementById(id)) {return;}
    js = d.createElement('script'); js.id = id; 
    js.async = true;js.src = "//connect.facebook.net/en_US/all" + (debug ? "/debug" : "") + ".js";
    ref.parentNode.insertBefore(js, ref);}(document, /*debug*/ false));
function postToFeed(title, desc, url, image){
var obj = {method: 'feed',link: url, picture: 'http://www.url.com/images/'+image,name: title,description: desc};
function callback(response){}
FB.ui(obj, callback);
}

所以当你想分享一些东西的时候

代码语言:javascript
复制
<a href="someurl.com/some-article" data-image="article-1.jpg" data-title="Article Title" data-desc="Some description for this article" class="btnShare">Share</a>

最后JS来处理点击:

代码语言:javascript
复制
$('.btnShare').click(function(){
elem = $(this);
postToFeed(elem.data('title'), elem.data('desc'), elem.prop('href'), elem.data('image'));

return false;
});
票数 45
EN

Stack Overflow用户

发布于 2015-08-23 00:35:29

此解决方案使用javascript在用户单击您的自定义共享按钮时打开一个新窗口。

HTML:

代码语言:javascript
复制
<a href="#" onclick="share_fb('http://urlhere.com/test/55d7258b61707022e3050000');return false;" rel="nofollow" share_url="http://urlhere.com/test/55d7258b61707022e3050000" target="_blank">

  //using fontawesome
  <i class="uk-icon-facebook uk-float-left"></i>
    Share
</a>

在你的javascript文件中。注意: window.open参数是(url,对话标题,宽度,高度)

代码语言:javascript
复制
function share_fb(url) {
  window.open('https://www.facebook.com/sharer/sharer.php?u='+url,'facebook-share-dialog',"width=626, height=436")
}
票数 12
EN

Stack Overflow用户

发布于 2015-01-17 20:26:06

最好的方法是使用你的代码,然后将图片存储在你链接到的页面的OG标签中,然后Facebook就会拿起它们。

代码语言:javascript
复制
<meta property="og:title" content="Facebook Open Graph Demo">
<meta property="og:image" content="http://example.com/main-image.png">
<meta property="og:site_name" content="Example Website">
<meta property="og:description" content="Here is a nice description">

您可以找到有关OG标签的文档,以及如何将其与共享按钮here一起使用

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22037021

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档