以下链接用于在 Twitter 上共享页面:
Facebook 是否有不需要 JavaScript 的类似选项?
我知道http://facebook.com/sharer.php,但这需要手动插入 get 参数(我不会这样做),或者使用 JavaScript(这不适合我的情况)。
以下链接用于在 Twitter 上共享页面:
Facebook 是否有不需要 JavaScript 的类似选项?
我知道http://facebook.com/sharer.php,但这需要手动插入 get 参数(我不会这样做),或者使用 JavaScript(这不适合我的情况)。
你可以使用
<a href="https://www.facebook.com/sharer/sharer.php?u=#url" target="_blank">
Share
</a>
目前,如果不将当前 url 作为参数传递,则没有共享选项。您可以使用间接的方式来实现这一点。
示例 ASP .Net 代码:
public partial class Sharer : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
var referer = Request.UrlReferrer.ToString();
if(string.IsNullOrEmpty(referer))
{
// some error logic
return;
}
Response.Clear();
Response.Redirect("https://www.facebook.com/sharer/sharer.php?u=" + HttpUtility.UrlEncode(referer));
Response.End();
}
}
Ps 2:正如Justin所指出的,请查看Facebook 的新分享对话框。将为后代留下答案。这个答案已经过时了
简短的回答,是的,Facebook 有一个类似的选项,不需要 javascript(嗯,有一些不是强制性的最小内联 JS,请参阅注释)。
Ps:该onclick
部分仅帮助您稍微自定义弹出窗口,但不是代码工作所必需的......没有它它会工作得很好。
<a href="https://www.facebook.com/sharer/sharer.php?u=URLENCODED_URL&t=TITLE"
onclick="javascript:window.open(this.href, '', 'menubar=no,toolbar=no,resizable=yes,scrollbars=yes,height=300,width=600');return false;"
target="_blank" title="Share on Facebook">
</a>
推特
<a href="https://twitter.com/share?url=URLENCODED_URL&via=TWITTER_HANDLE&text=TEXT"
onclick="javascript:window.open(this.href, '', 'menubar=no,toolbar=no,resizable=yes,scrollbars=yes,height=300,width=600');return false;"
target="_blank" title="Share on Twitter">
</a>
可以在您的代码中包含 JavaScript 并且仍然支持非 JavaScript 用户。
如果用户在未启用 JavaScript 的情况下单击以下任何链接,它只会打开一个新选项卡:
<!-- Remember to change URL_HERE, TITLE_HERE and TWITTER_HANDLE_HERE -->
<a href="http://www.facebook.com/sharer/sharer.php?u=URL_HERE&t=TITLE_HERE" target="_blank" class="share-popup">Share on Facebook</a>
<a href="http://www.twitter.com/intent/tweet?url=URL_HERE&via=TWITTER_HANDLE_HERE&text=TITLE_HERE" target="_blank" class="share-popup">Share on Twitter</a>
<a href="http://plus.google.com/share?url=URL_HERE" target="_blank" class="share-popup">Share on Googleplus</a>
因为它们包含share-popup
类,我们可以在 jQuery 中轻松引用它们,并更改窗口大小以适应我们共享的域:
$(".share-popup").click(function(){ var window_size = "宽度=585,高度=511"; var url = this.href; var domain = url.split("/")[2]; 开关(域){ 案例“www.facebook.com”: window_size = "宽度=585,高度=368"; 休息; 案例“www.twitter.com”: window_size = "宽度=585,高度=261"; 休息; 案例“plus.google.com”: window_size = "宽度=517,高度=511"; 休息; } window.open(url, '', 'menubar=no,toolbar=no,resizable=yes,scrollbars=yes,' + window_size); 返回假; });
不再有丑陋的内联 JavaScript,或无数的窗口大小更改。它仍然支持非 JavaScript 用户。
试试这些链接类型实际上对我有用。
https://www.facebook.com/sharer.php?u=YOUR_URL_HERE
https://twitter.com/intent/tweet?url=YOUR_URL_HERE
https://plus.google.com/share?url=YOUR_URL_HERE
https://www.linkedin.com/shareArticle?mini=true&url=YOUR_URL_HERE
我知道这是一个旧线程,但我不得不为一个项目做类似的事情,我想分享 2019 年的解决方案。
新的dialog
API 可以获取参数并在没有任何 javascript 的情况下使用。
参数是:
app_id
(必需的)href
您希望共享的页面的 URL,如果没有通过,将使用当前 URL。hashtag
必须有#
符号,例如#amsterdamquote
要与链接共享的文本您可以在没有任何 javascript 的情况下创建一个 href。
<a href="https://www.facebook.com/dialog/feed?&app_id=APP_ID&link=URI&display=popup"e=TEXT&hashtag=#HASHTAG" target="_blank">Share</a>
需要考虑的一件事是 Facebook 正在使用Open Graph,因此如果您的 OG 标签设置不正确,您可能无法获得您想要的结果。
您可以使用 Feed URL “Direct URL” 选项,如Feed Dialog页面所述:
您还可以通过显式将用户定向到 /dialog/feed 端点来调出 Feed 对话框:
https://www.facebook.com/dialog/feed?
app_id=123050457758183&
link=https://developers.facebook.com/docs/reference/dialogs/&
picture=http://fbrell.com/f8.jpg&
name=Facebook%20Dialogs&
caption=Reference%20Documentation&
description=Using%20Dialogs%20to%20interact%20with%20users.&
redirect_uri=http://www.example.com/response`
看起来他们不再在文档中的任何地方提及“共享”;这已被添加到您的 Feed 的概念所取代。
很多这些答案不再适用,所以这是我的:
使用Facebook 开发页面中描述的共享对话框。
例子:
https://www.facebook.com/dialog/share?
app_id=<your_app_id>
&display=popup
&href=https%3A%2F%2Fdevelopers.facebook.com%2Fdocs%2F
&redirect_uri=https%3A%2F%2Fdevelopers.facebook.com%2Ftools%2Fexplorer
但是您必须输入您注册的 app_id、href 和重定向 uri。
http://facebook.com/sharer.php已弃用
您有几个选择(使用 iframe 版本):
http://developers.facebook.com/docs/reference/plugins/like/
http://developers.facebook.com/docs/reference/plugins/send/
https://developers.facebook.com/docs/reference/plugins/like-box/
对于那些希望使用 javascript 但不想使用 Facebook javascript 库的人:
<a id="shareFB" href="https://www.facebook.com/sharer/sharer.php?u=URLENCODED_URL&t=TITLE"
onclick="javascript:window.open(this.href, '', 'menubar=no,toolbar=no,resizable=yes,scrollbars=yes,height=300,width=600');return false;" target="_blank" title="Share on Facebook">Share on Facebook</a>
<script type="text/javascript">document.getElementById("shareFB").setAttribute("href", "https://www.facebook.com/sharer/sharer.php?u=" + document.URL);</script>
即使禁用了 javascript 也可以工作,但如果启用了 javascript,则会为您提供一个带有共享预览的弹出窗口。
在不使用任何 Facebook js 间谍软件的情况下节省一次点击:)
添加到 @rybo111 的解决方案中,LinkedIn 共享将是这样的:
<a href="http://www.linkedin.com/shareArticle?mini=true&url={articleUrl}&title={articleTitle}&summary={articleSummary}&source={articleSource}" target="_blank" class="share-popup">Share on LinkedIn</a>
并将其添加到您的 Javascript 中:
case "www.linkedin.com":
window_size = "width=570,height=494";
break;
根据 LinkedIn 文档:https ://developer.linkedin.com/docs/share-on-linkedin (请参阅“自定义网址”部分)
对于任何感兴趣的人,我在带有 LinkedIn 徽标的 Rails 应用程序中使用了它,所以如果它可能有帮助,这是我的代码:
<%= link_to image_tag('linkedin.png', size: "50x50"), "http://www.linkedin.com/shareArticle?mini=true&url=#{job_url(@job)}&title=#{full_title(@job.title).html_safe}&summary=#{strip_tags(@job.description)}&source=SOURCE_URL", class: "share-popup" %>
如何分享内容:https ://developers.facebook.com/docs/share/
你必须选择不使用JS,使用已弃用的功能,每天检查,或者按照使用JS的方式玩得开心。