以下链接用于在Twitter上分享页面:
Facebook是否有类似的选项,不需要javascript?
我知道http://facebook.com/sharer.php,但是这需要手动插入get参数(我不打算这样做),或者使用javascript(这不符合我的情况)。
答案 0 :(得分:160)
您可以使用
<a href="https://www.facebook.com/sharer/sharer.php?u=#url" target="_blank">Share</a>
目前没有将当前网址作为参数传递的共享选项。您可以使用间接方式来实现此目的。
示例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();
}
}
答案 1 :(得分:118)
Ps 2:正如Justin所指出的,请查看Facebook's new Share Dialog。将为后代留下答案。这个答案已经过时了
简短回答,是的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>
<强> GOOGLEPLUS 强>
<a href="https://plus.google.com/share?url=URLENCODED_URL"
onclick="javascript:window.open(this.href, '', 'menubar=no,toolbar=no,resizable=yes,scrollbars=yes,height=350,width=480');return false;"
target="_blank" title="Share on Google+">
</a>
答案 2 :(得分:34)
可以在代码中包含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 = "width=585,height=511"; var url = this.href; var domain = url.split("/")[2]; switch(domain) { case "www.facebook.com": window_size = "width=585,height=368"; break; case "www.twitter.com": window_size = "width=585,height=261"; break; case "plus.google.com": window_size = "width=517,height=511"; break; } window.open(url, '', 'menubar=no,toolbar=no,resizable=yes,scrollbars=yes,' + window_size); return false; });
不再是丑陋的内联JavaScript,或者无数的窗口大小改动。它仍然支持非JavaScript用户。
答案 3 :(得分:7)
您可以使用Feed网址“直接网址”选项,如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的概念所取代。
答案 4 :(得分:6)
很多这些答案不再适用,所以这是我的:
中描述的共享对话框示例:
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。
答案 5 :(得分:4)
请访问该网站,您将获得Facebook,谷歌+和Twitter分享链接http://www.sharelinkgenerator.com/
答案 6 :(得分:4)
尝试这些链接类型实际上适合我。
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
答案 7 :(得分:3)
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/
答案 8 :(得分:2)
对于那些希望使用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间谍软件的情况下保存一针点击:)
答案 9 :(得分:2)
添加到@ 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(参见&#34;自定义网址&#34;部分)
对于任何有兴趣的人,我在带有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" %>
答案 10 :(得分:2)
我知道这是一个旧线程,但是我必须为一个项目做类似的事情,我想分享2019年的解决方案。
新的flash
API可以获取参数,并且无需任何JavaScript就可以使用。
这些参数是:
dialog
(必需)app_id
您希望共享的页面的URL,以防万一没有通过,将使用当前URL。href
必须带有hashtag
符号,例如#amsterdam #
要与链接共享的文本您可以创建没有任何JavaScript的href。
quote
要考虑的一件事是Facebook正在使用Open Graph,因此,如果OG标签未正确设置,则可能无法获得想要的结果。
答案 11 :(得分:1)
如何分享内容:https://developers.facebook.com/docs/share/
你必须选择使用不带JS的弃用功能,并且每天检查,或者按照使用JS的方式进行操作并享受乐趣。
答案 12 :(得分:0)
如果您想在更多论坛上分享,这是解决方案.. https://github.com/bradvin/social-share-urls