Facebook Поделиться ссылкой-нет javascript

следующая ссылка предназначена для обмена страницей в twitter:

http://twitter.com/share

есть ли аналогичная опция для Facebook, которая не требует javascript?

Я знаю о http://facebook.com/sharer.php, но для этого требуется, чтобы параметр get вставлялся вручную (чего я не собираюсь делать) или с помощью javascript (который не соответствует моей ситуации).

12 ответов


можно использовать

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

В настоящее время нет опции совместного доступа без передачи текущего url-адреса в качестве параметра. Для этого можно использовать косвенный способ.

  1. Создайте страницу на стороне сервера, например: "/ sharer.aspx"
  2. ссылка на эту страницу, когда вы хотите функциональность share.
  3. в разделе " sharer.aspx " получить URL-адрес ссылки и перенаправить пользователя на "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: Как указано Джастин, проверьте новый диалог акций Facebook. Оставим ответ как есть для потомков. Этот ответ устарел


короткий ответ, да, есть аналогичная опция для Facebook, которая не требует javascript (ну, есть некоторые минимальные встроенные JS, которые не являются обязательными, см. Примечание).

Ps:onclick часть только поможет вам настроить всплывающее немного немного, но есть не требуется для работы кода ... без него все будет отлично.

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 и изменять размер окна в соответствии с доменом, который мы разделяем:

$(".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.


вы можете использовать опцию "прямой URL-адрес", как описано в Диалог Кормить страницы:

вы также можете открыть диалоговое окно ленты, явно направив пользователя в конечную точку/dialog / 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`

похоже, они больше не упоминают "общий доступ" в своих документах; это было заменено концепцией добавления в ваш канал.


многие из этих ответов больше не применяются, поэтому вот мой:

используйте диалоговое окно Share, описанное в Facebook Dev Страница.

пример:

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 перенаправления.


пожалуйста, посетите веб-сайт, и вы получите Facebook, google+ и Twitter поделиться ссылкамиhttp://www.sharelinkgenerator.com/



для тех, кто хочет использовать 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 (см. раздел "настраиваемый Url")

для всех, кто заинтересован, я использовал это в приложении Rails с логотипом LinkedIn, поэтому вот мой код, если это может помочь:

<%= 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 и получать удовольствие.


попробовать эти типы ссылок на самом деле работает для меня.

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

Если вы хотите поделиться на других форумах, вот решение.. https://github.com/bradvin/social-share-urls