web-dev-qa-db-fra.com

Bouton de partage Facebook pour l'URL dynamique

J'ai une page dynamique avec une URL réécrite. Je veux y ajouter un bouton de partage Facebook. Ainsi, les utilisateurs qui cliquent sur le bouton Partager peuvent partager la page. Mais la page du développeur de partage Facebook demande une URL spécifique. Vous ne savez pas comment partager une URL générée dynamiquement.

Voici du code que j'ai trouvé pour capturer l'url. Mais je ne sais pas, comment l'inclure dans le code facebook.

jQuery(document).ready(function() {
    var href = jQuery(location).attr('href');
    var url = jQuery(this).attr('title');
    jQuery('#current_title').html(href);
    jQuery('#current_url').html(url);
});

Partie HTML du bouton de partage Facebook

<div class="fb-share-button" data-href="http://developers.facebook.com/docs/plugins/" data-type="button"></div>

Aide aimablement

Merci beaucoup

18
Gops

Cela a fonctionné pour moi:

<script language="javascript">
    function fbshareCurrentPage()
    {window.open("https://www.facebook.com/sharer/sharer.php?u="+encodeURIComponent(window.location.href)+"&t="+document.title, '', 
    'menubar=no,toolbar=no,resizable=yes,scrollbars=yes,height=300,width=600');
    return false; }
</script>

Appelez ensuite le code avec un lien:

<a href="javascript:fbshareCurrentPage()" target="_blank" alt="Share on Facebook">Facebook</a>

Si vous voulez que ce soit un lien direct au lieu de s'ouvrir dans une fenêtre, utilisez ceci dans la fonction:

window.location.href="https://www.facebook.com/sharer/sharer.php?u="+encodeURIComponent(window.location.href)+"&t="+document.title;


Solution jquery possible:

<a class="fbsharelink" data-shareurl="YOURLINK">Facebook</a>

$('.fbsharelink').click( function() 
{
    var shareurl = $(this).data('shareurl');
    window.open('https://www.facebook.com/sharer/sharer.php?u='+escape(shareurl)+'&t='+document.title, '', 
    'menubar=no,toolbar=no,resizable=yes,scrollbars=yes,height=300,width=600');
    return false;
});
25
wentz

N'entrez rien dans l'URL 'Supprimez également le lien existant ( https://developers.facebook.com/docs/plugins/ ) et incluez le code dans votre page comme vous le feriez normalement.

Le bouton J'aime ou Partager ramasserait le lien de votre page actuelle

10
Ankush Dhiman

Utilisez ceci pour que l'API de Facebook analyse votre page

  FB.XFBML.parse();
5
Adam Greene

Vous pouvez obtenir l'url en utilisant

var href = window.location

vous pouvez gagner le titre de la page en utilisant

var title = document.title

Pas besoin d'utiliser jQuery pour ces tâches simples.

Pour rendre le bouton de partage FB dynamique, vous devrez soit recharger, soit modifier les attributs de ses données pour qu'ils correspondent aux valeurs actuelles. De plus, après un rapide coup d'œil à la documentation du bouton de partage GB, il n'y a pas d'option pour définir le titre juste le HREF. Les documents peuvent être trouvés ici .

Ainsi, pour votre exemple, après avoir modifié l'URL, exécutez également le code suivant:

jQuery(document).on('ready', function($){
    var url = window.location;  
    $('.fb-share-button').attr('data-href', url);
});
3
user916411

Je pense que la solution la plus simple est celle-ci. Et cela fonctionne pour les URL les plus complexes, disons que c'est votre URL

http://dramatainment.com/videos.php?v=000014

Voici comment vous allez modifier votre code de bouton de partage facebook

<div class="fb-share-button" data-href="http://dramatainment.com/videos.php?v=<?php echo $v; ?>" data-layout="button" data-mobile-iframe="true"><a class="fb-xfbml-parse-ignore" target="_blank" href="https://www.facebook.com/sharer/sharer.php?u=http%3A%2F%2Fdramatainment.com%2Fvideos.php&amp;src=sdkpreparse">Share</a></div>

Je viens d'ajouter l'URL dynamique comme celle-ci

data-href="http://dramatainment.com/videos.php?v=<?php echo $v; ?>"
1
Engr Atiq