web-dev-qa-db-fra.com

Lien de partage Facebook - pas de javascript

Le lien suivant permet de partager une page sur Twitter:

http://Twitter.com/share

Existe-t-il une option similaire pour Facebook, qui ne nécessite pas de javascript?

Je connais environ http://facebook.com/sharer.php , mais cela nécessite l'insertion manuelle d'un paramètre get (ce que je ne vais pas faire), ou avec javascript situation).

108
Web_Designer

Vous pourriez utiliser

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

Actuellement, il n'y a pas d'option de partage sans passer l'URL actuelle en tant que paramètre. Vous pouvez utiliser un moyen indirect pour y parvenir.

  1. Créez une page côté serveur, par exemple: "/sharer.aspx"
  2. Liez cette page quand vous voulez la fonctionnalité de partage.
  3. Dans "sharer.aspx", récupérez l'URL de renvoi et redirigez l'utilisateur vers " https://www.facebook.com/sharer/sharer.php?u= {referer}"

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

Ps 2: comme l'a souligné Justin , consultez le nouveau dialogue de partage de Facebook . Laissera la réponse telle quelle à la postérité. Cette réponse est obsolète


Réponse courte, oui, il existe une option similaire pour Facebook, qui ne nécessite pas de javascript (enfin, il existe quelques JS en ligne minimes qui ne sont pas obligatoires, voir la note).

Ps: La partie onclick ne vous aide que à personnaliser un peu la fenêtre contextuelle, mais elle est non requise pour que le code fonctionne ... cela fonctionnera sans problème.

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>

Google Plus

<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

Il est possible d'inclure du JavaScript dans votre code tout en prenant en charge les utilisateurs non-JavaScript.

Si un utilisateur clique sur l’un des liens suivants sans activer JavaScript, il ouvrira simplement un nouvel onglet:

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

Comme elles contiennent la classe share-popup, nous pouvons facilement les référencer dans jQuery et modifier la taille de la fenêtre en fonction du domaine depuis lequel nous partageons:

 $ (". share-popup"). click (function () {
 var window_size = "width = 585, height = 511"; 
 var url = this.href; 
 var domaine = url.split ("/") [2]; 
 commutateur (domaine) {
 cas "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 = non, barre d’outils = non, redimensionnable = oui, barres de défilement = oui, '+ window_size); 
 return false; 
}); 

Plus de jolis scripts JavaScript en ligne, ni d'innombrables modifications de la taille des fenêtres. Et il prend toujours en charge les utilisateurs non-JavaScript.

34
rybo111

Vous pouvez utiliser l'option "URL directe" de l'URL du flux, comme décrit dans la page Dialogue de flux :

Vous pouvez également afficher une boîte de dialogue de flux en dirigeant explicitement l'utilisateur vers le point de terminaison/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`

On dirait qu'ils ne mentionnent plus le "partage" nulle part dans leur documentation; ceci a été remplacé par le concept d'ajouter à votre flux.

7
Jordan Reiter

Beaucoup de ces réponses ne s'appliquent plus, alors voici la mienne:

Utilisez la boîte de dialogue Partager décrite dans Facebook Dev Page .

Exemple:

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

Mais vous devez indiquer votre app_id enregistré, le href et un URI de redirection.

6
Justin Skiles

Veuillez visiter le site Web et vous obtiendrez des liens de partage sur Facebook, Google + et Twitter http://www.sharelinkgenerator.com/

4
Mazhar Iqbal
3
DMCS

Je sais que c'est un vieux fil, mais je devais faire quelque chose comme ça pour un projet et je voulais partager la solution 2019.

La nouvelle API dialog peut obtenir des paramètres et être utilisée sans javascript.

Les params sont:

  • app_id (Obligatoire)
  • href L'URL de la page que vous souhaitez partager, au cas où aucun ne serait passé, utilisera l'URL actuelle.
  • hashtag doit avoir le symbole # par exemple #amsterdam
  • quote texte à partager avec le lien

Vous pouvez créer un href sans javascript.

<a href="https://www.facebook.com/dialog/feed?&app_id=APP_ID&link=URI&display=popup&quote=TEXT&hashtag=#HASHTAG" target="_blank">Share</a>

Une chose à considérer est que Facebook utilise Open Graph donc au cas où vos tags OG ne sont pas définis correctement, vous n'obtiendrez peut-être pas les résultats souhaités.

2
Shahar

En plus de la solution de @ rybo111, voici ce qu’un partage LinkedIn serait:

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

et ajoutez ceci à votre Javascript:

case "www.linkedin.com":
    window_size = "width=570,height=494";
    break;

Selon la documentation de LinkedIn: https://developer.linkedin.com/docs/share-on-linkedin (voir la section "URL personnalisée")

Pour ceux qui sont intéressés, j'ai utilisé cela dans une application Rails avec un logo LinkedIn, alors voici mon code si cela peut vous aider:

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

Pour ceux qui souhaitent utiliser javascript mais ne veulent pas utiliser la bibliothèque javascript de 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>

Fonctionne même si le javascript est désactivé, mais vous ouvre une fenêtre contextuelle avec un aperçu du partage si javascript est activé. 

Enregistre un clic de souris sans utiliser d'espiogiciel Facebook js :)

2
Marek Andreansky

Essayez ces types de lien fonctionne réellement pour moi.

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

Comment partager du contenu: https://developers.facebook.com/docs/share/

Vous devez choisir d'utiliser la fonction obsolète sans JS, et vérifier tous les jours, ou suivre la façon dont vous utilisez JS et amusez-vous. 

1
Sándor Tóth

Si vous souhaitez partager sur plusieurs forums, voici la solution .. https://github.com/bradvin/social-share-urls

0
Ahmad Hassan