自7月17日起,旧的分享按钮停止在我管理的所有网站上工作。
我已阅读其他用户遇到类似问题的报告,但我无法找到任何官方报道。
您知道是否有任何官方消息来源?
答案 0 :(得分:25)
自从第一次被问到这个问题已经有一段时间了,但Facebook文档中的一些新信息让我们有可能看到一些正式的“证据”,即sharer.php
共享链接的方法仍然有效,仍然支持还活着踢。
参考文献是this page of the documentation,并给出了一些例子:
这是共享对话框最简单的用法:
<a href="https://www.facebook.com/sharer/sharer.php?u=example.org" target="_blank"> Share on Facebook </a>
还有:
您可以在新窗口或弹出窗口中指向此网址。如果你使用 用JavaScript弹出一个新窗口,你也可以参考URL 当前页面作为location.href共享。这给你代码 你可以在所有页面上使用:
var sharer = "https://www.facebook.com/sharer/sharer.php?u="; window.open(sharer + location.href, 'sharer', 'width=626,height=436');
总而言之,确实有一段时间sharer.php
的行为无法预测。人们普遍认为该方法已被弃用,使用它并不明智。 这已被正式破坏,因为sharer.php
的示例用法已添加到Facebook的文档中。
答案 1 :(得分:15)
更新#3(2016年6月):
它再次消失:文档中没有对sharer.php的更多引用。虽然您可以选择使用share dialog而无需以任何形式与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>
更新#2:
见@Lix的答案。
更新#1:
正如Sean指出的那样(为了这个功劳)你可以使用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>
注意:此版本的共享按钮(与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&p[title]=foo&p[summary]=bar&p[url]=https://www.foobar.com/&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>
原始答案:
分享按钮已经被弃用了。它现在可能完全死了,或者只是暂时的,只有Facebook知道。正式被弃用。
旧的“共享”按钮发生了什么变化?
我们在推出Like按钮[...]
时弃用了Share按钮
答案 2 :(得分: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>
几年前已被弃用,Facebook于周一改为服务新的JS SDK。
分享按钮的官方版本是使用JS SDK并使用
<fb:share ..... />
也就是说,我们现在正在为它提供新的SDK,我计划今天将旧的<a name="fb_share" ...
标签恢复生机:)
对此抱歉。
但也许是时候更新到新的SDK了吗?
答案 3 :(得分: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>
它会打开共享弹出窗口,一旦发布就会自动关闭。
但是每个人都应该尽快转向新的“喜欢”和“发送”按钮......
答案 4 :(得分:3)
我认为这似乎是一个很好的未来安全妥协,取自the fb docs:
直接网址示例
您还可以通过明确指导人员来调出Feed对话框 / dialog / feed端点:
https://www.facebook.com/dialog/feed? APP_ID = 458358780877780&安培;
链接= https://developers.facebook.com/docs/reference/dialogs/&
picture = http://fbrell.com/f8.jpg& name = Facebook%20Dialogs&amp;
字幕=参考%20Documentation&安培;
描述=使用%20Dialogs%20to%20interact%20with%20users&安培;
REDIRECT_URI = https://mighty-lowlands-6381.herokuapp.com/
您必须创建一个应用程序才能获得要在此方法中使用的应用程序ID,但您不必在提示用户发布之前获得用户的许可,并且您可以使用您喜欢的任何图像。
答案 5 :(得分:1)
7月18日Facebook发布了一个更新 - 所有通过外部应用程序发布到页面的帖子现在都获得了一个分享按钮。以前人们使用几个hack来自己添加Share按钮(使用sharer.php),但现在应该删除它,因为通过应用程序发出的所有帖子都会自动获得Share按钮。
答案 6 :(得分:0)
首先他们已经弃用了分享按钮,转而使用了类似按钮,(尽管分享继续工作,据我所知,这是错误的)。但似乎,现在(2013年11月10日)facebook推出了新的分享按钮,它再次正常工作
检查这些链接
https://developers.facebook.com/docs/plugins/share-button/
https://developers.facebook.com/blog/post/2013/11/06/introducing-new-like-and-share-buttons/