it-swarm.com.ru

Facebook поделиться ссылкой - без JavaScript

Следующая ссылка предназначена для публикации страницы в Twitter:

http://Twitter.com/share

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

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

108
Web_Designer

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

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

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();
    }
}
152
Medeni Baykal

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>

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>

Гугл плюс

<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>
114
King'ori Maina

Возможно включить 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 (домен) {
 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 = нет, панель инструментов = нет, изменяемый размер = да, полосы прокрутки = да, '+ window_size); 
 return false; 
}); 

Нет больше уродливого встроенного JavaScript или бесчисленных изменений размеров окна. И он все еще поддерживает не-JavaScript пользователей.

34
rybo111

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

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

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

7
Jordan Reiter

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

Используйте диалоговое окно «Поделиться», описанное на странице разработчика Facebook .

Пример:

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

6
Justin Skiles

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

4
Mazhar Iqbal
3
DMCS

В дополнение к решению @ 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" %>
2
Kyle Carlson

Для тех, кто хочет использовать 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 :)

2
Marek Andreansky

Попробуйте эти типы ссылок на самом деле работает для меня.

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
2
Asitha Yomal

Как поделиться контентом: https://developers.facebook.com/docs/share/

Вы должны выбрать использовать устаревшую функцию без JS, и проверять каждый день, или следуйте тому, как используйте JS и получайте удовольствие. 

1
Sándor Tóth

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

0
Ahmad Hassan