9
votes

Onclick: Partagez l'image sur Facebook

Je voudrais configurer une fonction onclick à une image sur mon nouveau site Web qui lancent Facebook Sharner.

Voici quelques pièces de code qui peuvent aider à comprendre ce que je parle de p> xxx pré>

L'image src est vide car elle est injectée par une autre fonction JavaScript en utilisant "my_Image" p>

donc, j'ai essayé de configurer la fonction OnClick avec cette méthode: p>

<script>function fbs_click() {u=location.href;t=document.title;window.open('http://www.facebook.com/sharer.php?u='+encodeURIComponent(u)+'&t='+encodeURIComponent(t),'sharer','toolbar=0,status=0,width=626,height=436');return false;}</script>

<div id="mImageBox">
<a rel="nofollow" href="http://www.facebook.com/share.php?u=<;url>" onclick="return fbs_click()" target="_blank"><img id='my_image' src='' width="auto" height="auto"/></a>
</div>


2 commentaires

Il semble que la fonction fbs_click () partage la page. Notez comment il utilise u = emplacement.href; . Je pense que cela, vous devez changer u à l'URL de l'image, au lieu de la page en cours.


Je l'ai également remarqué. Avez-vous une solution pour récupérer l'image URL de l'ID IMG?


3 Réponses :


15
votes

Essayez ceci:

<div id="mImageBox">
<img id='my_image' src='' alt='' width="auto" height="auto" onclick="fbs_click(this)"/>
</div>

<script>
     function fbs_click(TheImg) {
     u=TheImg.src;
     // t=document.title;
    t=TheImg.getAttribute('alt');
    window.open('http://www.facebook.com/sharer.php?u='+encodeURIComponent(u)+'&t='+encodeURIComponent(t),'sharer','toolbar=0,status=0,width=626,height=436');return false;
}
</script>


6 commentaires

Que se passe-t-il si theimg.src n'est pas une URL complète? E.g.: TheIMG.SRC = "/Assest/Images/imageExample.jpg"


Il renvoie l'URL absolue. Mais dans IE6, il retournera l'URL relative. Voici la solution pour IE6: Stackoverflow.com/questions/470832/...


Est-il également possible de configurer un bouton partageant l'image?


Dani: Que dois-je mettre là-bas?


C'est un peu plus compliqué. Vous devriez donner une pièce d'identité à la balise IMG. puis détecter la balise par ID. Exemple: Cliquez ici


Ce code fonctionne parfaitement mais quelqu'un me dit comment ajouter un titre pour l'image. qui est le look lors du partage sur Facebook?



13
votes

Appelez simplement la fonction ci-dessous et vous pouvez partager une image avec votre lien et votre texte sur Facebook. XXX


3 commentaires

Merci! Je regarde environ 2 jours et c'est le seul que l'ouvrier correctement pour moi. Je devais juste ajouter, version: 'v2.5' dans la méthode init. Merci encore!


J'ai utilisé le même code et obtenu l'erreur - non capturatureError: FB n'est pas défini. Que dois-je faire?


@Kunjanshah Vous devez d'abord ajouter Facebook JS SDK à votre site Web. voir ici



0
votes

Depuis Facebook, JavaScript API 2.9 est mort depuis la semaine dernière La solution ci-dessus ne fonctionne plus (je me suis prise d'une demi-journée pour la découvrir !!!). En V2.10, le paramètre image de FB.UI n'existe plus. Mais j'ai trouvé une solution de contournement générant un paramètre d'URL individuel pour chaque image afin que Facebook doive gratter des données de graphique ouverte pour chaque image partagée individuellement. J'ai partagé mon code dans Cet article pour votre référence.


0 commentaires