自 7 月 17 日起,旧的分享按钮在我管理的所有网站上停止工作。
我已经阅读了其他面临类似问题的用户的报告,但我找不到任何官方信息。
您知道是否有任何官方资源可用于此?
自 7 月 17 日起,旧的分享按钮在我管理的所有网站上停止工作。
我已经阅读了其他面临类似问题的用户的报告,但我找不到任何官方信息。
您知道是否有任何官方资源可用于此?
更新:
截至 2020 年 5 月,Facebook 文档并未明确提及对 URL 的支持,但Share Button/sharer.php
页面生成的片段仍引用该路径。
自从第一次被问到这个问题已经过去了一段时间,但 Facebook 文档中的一些新信息使我们有可能看到一些官方“证据”,证明sharer.php
共享链接的方法仍然有效,仍然受到支持并且是活跃的。
参考是文档的这一页,还给出了一些示例:
这是共享对话框最简单的用法:
<a href="https://www.facebook.com/sharer/sharer.php?u=example.org" target="_blank"> Share on Facebook </a>
并且:
您可以在新窗口或弹出窗口中指向此 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');
总而言之,确实有一段时间的行为sharer.php
是不可预测的。人们普遍认为该方法已被弃用并且使用它是不明智的。现在,这已被正式破坏,因为它sharer.php
已添加到 Facebook 的文档中。
更新 #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>
更新#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 当前的所有社交插件一样)会创建一个带有参数的 cookie,该datr
参数可能对用户隐私构成威胁。如果您必须遵守隐私政策,则应牢记这一点。
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 知道。官方已弃用。
从文档中:
旧的“分享”按钮怎么了?
当我们启动“赞”按钮时,我们弃用了“分享”按钮 [...]
这里使用的代码,
<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 了?
所以总结一下,如果你这样做,它仍然有效:
<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>
它将打开共享弹出窗口,该弹出窗口在发布后将自行关闭。
但是每个人都应该尽快转向新的“喜欢”和“发送”按钮......
我认为这似乎是一个很好的未来安全折衷方案,取自fb 文档:
直接 URL 示例
您还可以通过显式将人们定向到 /dialog/feed 端点来调出 Feed 对话框:
https://www.facebook.com/dialog/feed?app_id=458358780877780&
链接= https://developers.facebook.com/docs/reference/dialogs/&
图片= http://fbrell.com/f8.jpg& name=Facebook%20Dialogs&
caption=Reference%20Documentation&
description=Using%20Dialogs %20to%20interact%20with%20users.&
redirect_uri= https://mighty-lowlands-6381.herokuapp.com/
您必须制作一个应用程序才能获得应用程序 ID 才能在此方法中使用,但您不必在提示用户发布之前获得用户的许可,并且您可以使用任何您喜欢的图像。
7 月 18 日,Facebook 发布了一项更新——所有通过外部应用程序发布到页面的帖子现在都有一个分享按钮。以前人们使用了一些技巧来自己添加分享按钮(使用sharer.php),但现在应该删除它,因为通过应用程序发布的所有帖子都会自动获得一个分享按钮。
首先,他们弃用了分享按钮,转而支持点赞按钮(尽管分享继续有效,但就我的经验而言,它有问题)。但似乎,现在(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/