如何更改Facebook共享按钮的样式?

Yea*_*ats 4 html javascript css facebook

我知道之前已经问过这个问题,但答案是过时的(谈论iframe),错误的(不允许改变它),或者令人困惑.

一劳永逸,你如何改变Facebook分享按钮的风格?

将他们的代码粘贴到我的网站中会产生一些丑陋的东西,错误的大小和错误的语言.

我希望它看起来像我网站上的其他按钮,我希望它上面的文字是我应该说的.即使它不是我使用的确切文本,它至少应该使用正确的语言,如Twitter按钮.

浏览Facebook网站上的开发指南,我发现以下引用:

如果您的网站不需要按钮来打开共享对话框或Facebook提供的按钮不适合您的网站设计,则还提供Web共享对话框以共享链接.

但是,Web共享对话框是我读过最令人困惑的事情.它给出了零实际指导,并伴随着一堆令人困惑的陈述.

"共享"对话框使人们能够将个别故事发布到其时间线,朋友的时间线,组或Messenger上的私人消息中.这不需要Facebook登录或任何扩展权限,因此这是在网络上启用共享的最简单方法.

什么?没有脸书帐户的人可以在时间轴上分享内容吗?他们甚至没有时间表......

使用FB.ui函数和share method参数触发共享对话框以共享链接.

我不知道它是什么,他们不解释它.

这种情况一直在继续,我完全理解什么都没有,我不是一个愚蠢的Wordpress博客.

因为Facebook拒绝,有人可以解释一下如何做到这一点吗?

编辑:我现在已经使用Facebook Javascript SKD,但它要求一个app_id.

他们的页面说的app_id是:

您应用的唯一标识符.需要.

但我不是在制作应用程序.我正在制作一个网页......

Yea*_*ats 12

首先,忽略那些说你无法改变Facebook分享按钮布局的人.这是允许的,许多网站都这样做.

另外,忽略文档因为它们没用,只会让你感到困惑.他们的代码片段是错误的,他们的FAQ也是如此.

尽管Facebook的文档声称不然,你绝对需要创建一个"Facebook应用程序",就像开发者/管理页面,你可以编辑一些设置(并给Facebook你的电话号码).

然后,您需要在页面上初始化JavaScript SDK(不要忘记将您的Javascript应用程序页面中的实际应用程序ID添加到其中appId):

<script>
  window.fbAsyncInit = function() {
    FB.init({
      appId      : 'your-app-id',
      xfbml      : true,
      version    : 'v2.5'
    });
  };

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

然后你可以使用你想要的任何按钮,如下所示:

<button class="ui facebook button">Share</button>
Run Code Online (Sandbox Code Playgroud)

要在单击它时执行某些操作,请使用常规JS或jQuery事件侦听器:

<script>
    $(".ui.facebook.button").click(function() {
        FB.ui({
            method: 'share',
            href: 'your-webpage.html',
}, function(response){});
    })
</script>
Run Code Online (Sandbox Code Playgroud)

这只能在正确的网页上使用,而不能在本地使用.

然后,您需要使共享页面显示正确的图像和文本.这是一个不同的主题,根据您正在使用的平台,它可以从容易到非常烦人.搜索适合您案例的说明.


lus*_*chn 6

您不能以任何方式更改社交插件的外观,但您可以使用共享对话框sharer.php链接使用您自己的图像.对于第二个选项,您甚至不需要App ID,只需打开包含urlencoded URL的链接:

https://www.facebook.com/sharer.php?u=[urlencoded-url]
Run Code Online (Sandbox Code Playgroud)

关于分享对话:他们说"这不需要Facebook登录",这并不意味着"你不需要Facebook帐户".那些是完全不同的东西.在这种情况下,"Facebook登录"表示"在您的应用程序中授权".您需要阅读:https://developers.facebook.com/docs/facebook-login

文档现在真的很好,但你应该花时间阅读所有这些,而不仅仅是你现在需要的部分:https://developers.facebook.com/docs/

换句话说,您有两个选择:

  • 使用社交插件 - 除正式设置外,不允许更改外观
  • 创建自己的Share Button图形并使用Share Dialog或sharer.php.对于Share Dialog,您需要包含JavaScript SDK(因为它基于那个)并创建一个App.对于sharer.php,你真的只需要打开链接.

关于Share按钮的语言:您可以轻松地使用JS SDK设置语言,请查看以下文章:http://www.devils-heaven.com/facebook-javascript-sdk-login/ - 有这一行,用语言:

js.src = "//connect.facebook.net/en_US/sdk.js";
Run Code Online (Sandbox Code Playgroud)

顺便说一句,有关使用/更改Facebook图形的非常重要的信息:https://www.facebookbrand.com/dos-donts