Facebook share link - нет javascript


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

http://twitter.com/share

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

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

12 106

12 ответов:

вы могли бы использовать

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

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

  1. Создайте страницу на стороне сервера, например: "/ sharer.aspx"
  2. ссылка на эту страницу всякий раз, когда вы хотите поделиться функциональностью.
  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, которые не являются обязательными, см. Примечание).

Зы: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>

Twitter

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

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

для тех, кто хочет использовать javascript, но не хочет использовать библиотеку javascript Facebook:

<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