126 votes

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 http://facebook.com/sharer.php , mais cela nécessite l'insertion manuelle d'un paramètre get (ce que je ne ferai pas) ou de javascript (ce qui ne correspond pas à ma situation).

173voto

Vous pouvez utiliser

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

Actuellement, il n'existe pas d'option de partage avec le courant qui circule à l'url en paramètre. Vous pouvez utiliser un moyen indirect pour atteindre cet objectif.

  1. Créer un serveur de page côté par exemple: "/sharer.aspx"
  2. Lien de cette page à chaque fois que vous voulez la fonctionnalité de partage.
  3. Dans le "partagé.aspx" obtenir la référence de l'url, et de rediriger l'utilisateur "http://www.facebook.com/sharer/sharer.php?u={referer}"

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

        Response.Clear();
        Response.Redirect("http://www.facebook.com/sharer/sharer.php?u=" + HttpUtility.UrlEncode(referer));
        Response.End();
    }
}

125voto

King'ori Maina Points 725

Ps 2: Comme l'a souligné Justin, découvrez Facebook de Dialogue nouveau Partage. Laissera la réponse est pour la postérité. Cette réponse est obsolète


Réponse courte: oui, il y a une option similaire pour Facebook, qui ne nécessite pas de javascript (bon, il y a un minimum de inline JS qui n'est pas obligatoire, voir note).

Ps: L' onclick partie seulement vous aide à personnaliser le pop-up un peu, mais n'est pas nécessaire pour que le code fonctionne ... il fonctionnera très bien sans elle.

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>

36voto

rybo111 Points 1318

Il est possible d'inclure du JavaScript dans votre code et encore du soutien non-JavaScript utilisateurs.

Si un utilisateur clique sur un des liens suivants sans JavaScript activé, il sera tout simplement ouvrir 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>

Car ils contiennent de l' share-popup de classe, nous pouvons facilement de référence dans jQuery, et de changer la taille de la fenêtre pour répondre le domaine, nous sommes de partage à partir de:

$(".partager-popup").cliquez sur(function(){
 var window_size = "";
 var url = ce.href;
 var domain = url.split("/")[2];
 switch(domaine) {
 cas "www.facebook.com":
 window_size = "width=585,hauteur=368";
break;
 cas "www.twitter.com":
 window_size = "width=585,hauteur=261";
break;
 cas "plus.google.com":
 window_size = "width=517,hauteur=511";
break;
par défaut:
 window_size = "width=585,hauteur=511";
}
 de la fenêtre.open(url, ", 'menubar=no,toolbar=no,resizable=yes,scrollbars=yes,' + window_size);
 return false;
});

Pas plus laid JavaScript en ligne, ou d'innombrables fenêtre de dimensionnement des altérations. Et il prend toujours en charge non-JavaScript utilisateurs.

7voto

Jordan Reiter Points 8679

Vous pouvez utiliser l'option "URL directe" de l'URL du flux, comme décrit sur la page Boîte de dialogue du 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.

4voto

Mazhar Iqbal Points 29

S'il vous plaît visitez le site Web et vous obtiendrez des liens de partage Facebook, Google + et Twitter http://www.sharelinkgenerator.com/

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X