Facebook共享链接 – 没有JavaScript

以下链接是在Twitter上分享一个页面:

http://twitter.com/share

Facebook有没有类似的select,不需要JavaScript?

我知道http://facebook.com/sharer.php ,但是这需要手动插入一个get参数(我不打算这样做),或者使用javascript(这不符合我的情况)。

你可以使用

<a href="https://www.facebook.com/sharer/sharer.php?u=#url" target="_blank">Share</a> 

目前没有传递当前url作为参数的共享选项。 你可以使用间接的方式来实现这一点。

  1. 创build一个服务器端页面,例如:“/sharer.aspx”
  2. 链接此页面,只要你想共享function。
  3. 在“sharer.aspx”获取引用url,并将用户redirect到“ https://www.facebook.com/sharer/sharer.php?u= {referer}”

示例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部分只能帮助你自定义popup一点,但不是代码工作所需要的…它会工作得很好,没有它。

Facebook的

 <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> 

可以在代码中包含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中引用这些窗口,并根据我们共享的域更改窗口大小:

 $( “股份popup”)。点击(函数(){
     var window_size =“width = 585,height = 511”;
     var url = this.href;
     var domain = url.split(“/”)[2];
    开关(域){
        案例“www.facebook.com”:
             window_size =“width = 585,height = 368”;
            打破;
        案例“www.twitter.com”:
             window_size =“width = 585,height = 261”;
            打破;
        案例“plus.google.com”:
             window_size =“width = 517,height = 511”;
            打破;
     }
     window.open(url,'','menubar = no,toolbar = no,resizable = yes,scrollbars = yes,'+ window_size);
    返回false;
 });

没有更多丑陋的内联JavaScript,或无数的窗口大小改变。 而且它仍然支持非JavaScript用户。

您可以使用供稿url“直接URL”选项,如“ 供稿对话框”页面中所述:

您还可以通过将用户显式指向/ 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,谷歌+和Twitter分享链接http://www.sharelinkgenerator.com/

很多这些答案不再适用,所以这里是我的:

使用Facebook Dev Page中描述的Share对话框。

例:

 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和一个redirect的uri。

对于那些希望使用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,则会为您提供共享预览的popup窗口。

保存一针,而不使用任何Facebook js间谍软件:)

如何分享内容: https : //developers.facebook.com/docs/share/

你必须select使用不带JS的弃用函数,并每天检查,或按照使用JS的方式玩得开心。

添加@ rybo111的解决scheme,以下是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/documents/share-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" %> 

如果你想分享更多的论坛,这里是解决scheme.. https://github.com/bradvin/social-share-urls

Interesting Posts