Facebook分享按钮:它正式死了吗?

Sca*_*lax 27 facebook facebook-sharer

自7月17日以来,旧的分享按钮停止在我管理的所有网站上工作.

我已阅读其他用户面临类似问题的报告,但我无法找到任何官方报道.

你知道是否有任何官方消息来源?

Lix*_*Lix 25

自从第一次被问到这个问题以来已经有一段时间了,但Facebook文档中的一些新信息让我们有可能看到一些官方的"证据",即sharer.php共享链接的方法仍然有效,仍然受到支持,并且还在活着.

参考是文档的这一页,并给出了一些例子:

这是共享对话框最简单的用法:

<a href="https://www.facebook.com/sharer/sharer.php?u=example.org" target="_blank">
  Share on Facebook
</a>
Run Code Online (Sandbox Code Playgroud)

并且:

您可以在新窗口或弹出窗口中指向此URL.如果您使用JavaScript弹出一个新窗口,您还可以引用当前页面的URL作为location.href.这为您提供了可以在所有页面上使用的代码:

var sharer = "https://www.facebook.com/sharer/sharer.php?u=";
window.open(sharer + location.href, 'sharer', 'width=626,height=436');
Run Code Online (Sandbox Code Playgroud)

总而言之,确实有一段时间,这种行为sharer.php是不可预测的.人们普遍认为该方法已被弃用,使用它并不明智.现在这已被正式破坏,因为sharer.phpFacebook的文档中添加了一个示例用法.


bor*_*kur 15

更新#3(2016年6月):

它又消失了:文档中没有对sharer.php的引用.虽然您可以选择使用共享对话框而不以任何形式与facebook sdk集成.一个重要的区别是所需的app_id参数.以下是文档中的一个示例:

<a id="facebook" href="https://www.facebook.com/dialog/share?app_id=145634995501895&display=popup&href=https%3A%2F%2Fdevelopers.facebook.com%2Fdocs%2F&redirect_uri=https%3A%2F%2Fdevelopers.facebook.com%2Ftools%2Fexplorer" target="_blank">share me</a>
Run Code Online (Sandbox Code Playgroud)

更新#2:

见@Lix的回答.


更新#1:

正如肖恩指出的那样(为了这个功劳)你可以使用FBML版本的分享按钮.FBML版本的代码片段:

<!DOCTYPE html>
<html xmlns:fb="http://ogp.me/ns/fb#" lang="en" style="overflow:hidden;">
    <head prefix="og: http://ogp.me/ns# fb: http://ogp.me/ns/fb#">
        <meta charset="utf-8">
        <title>Test</title>
    </head>
    <body>
        <div id="fb-root"></div>
        <script>(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#xfbml=1&appId=YOUR_APP_ID"; // appId must be valid
          fjs.parentNode.insertBefore(js, fjs);
        }(document, 'script', 'facebook-jssdk'));</script>
        <fb:share-button type="button_count" href="http://www.foobar.com">
        </fb:share-button>
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

注意:此版本的共享按钮(与Facebook当前的所有社交插件一样)会创建一个带有datr参数的cookie,这是对用户隐私的潜在威胁.如果您必须遵守隐私政策,则应牢记这一点.

sharer.php版本的代码片段:

<a id="fb-share" style='text-decoration:none;' type="icon_link" onClick="window.open('http://www.facebook.com/sharer.php?s=100&amp;p[title]=foo&amp;p[summary]=bar&amp;p[url]=https://www.foobar.com/&amp;p[images][0]=https://www.foobar.com/thumb.gif','sharer','toolbar=0,status=0,width=580,height=325');" href="javascript: void(0)">
    <img src="img/share.gif" width="62" height="18" alt="Share"/>
</a>
Run Code Online (Sandbox Code Playgroud)



原始答案:

分享按钮已经被弃用了.它现在可能完全死了,或者只是暂时的,只有Facebook知道.官方称它已被弃用.

文档:

旧的Share按钮发生了什么变化?

当我们启动Like按钮时,我们弃用了Share按钮[...]


Sea*_*sey 7

这里使用的代码,

<a name="fb_share" type="button_count" share_url="..." href="facebook.com/sharer.php" rel="nofollow">Share</a>

<script src="static.ak.fbcdn.net/connect.php/js/FB.Share" type="text/javascript"></script>
Run Code Online (Sandbox Code Playgroud)

几年前已被弃用,Facebook于周一改为服务新的JS SDK.

分享按钮的官方版本是使用JS SDK并使用

<fb:share ..... />
Run Code Online (Sandbox Code Playgroud)

也就是说,我们现在正在为它提供新的SDK,我计划<a name="fb_share" ...今天将旧标签恢复生机:)对此抱歉.

但也许是时候更新到新的SDK?


Mic*_*hel 5

总而言之,如果你这样做,它仍然有效:

<a target="_blank" style='text-decoration:none;' type="icon_link" href="http://www.facebook.com/sharer.php?u=URL-TO-SHARE-HERE"><img style="width:26px;height:26px;" src=".../facebook2.png"%>"/></a>
Run Code Online (Sandbox Code Playgroud)

它将打开共享弹出窗口,一旦发布就会自动关闭.

但是每个人都应该尽快转向新的"喜欢"和"发送"按钮......