Facebook分享链接 - 没有javascript

时间:2012-02-02 21:51:03

标签: facebook facebook-like facebook-sharer

以下链接用于在Twitter上分享页面:

http://twitter.com/share

Facebook是否有类似的选项,不需要javascript?

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

13 个答案:

答案 0 :(得分:160)

您可以使用

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

目前没有将当前网址作为参数传递的共享选项。您可以使用间接方式来实现此目的。

  1. 创建服务器端页面,例如:“/ usersr.aspx”
  2. 只要您想要共享功能,请链接此页面。
  3. 在“sharer.aspx”中获取引荐网址,并将用户重定向到“https://www.facebook.com/sharer/sharer.php?u= {referer}”
  4. 示例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)

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

使用Facebook Dev Page

中描述的共享对话框

示例:

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)

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

相关问题