67 votes

Comment ajouter un Facebook « Comme » bouton dans une page AJAX piloté par

J'ai parcouru le net + Stackoverflow et n'ont pas trouvé une réponse adéquate à cette question et avant de commencer le processus de tâtonnement et de trouver ma propre solution, je pensais que j'allais tourner de l'Stackoverflow braintrust et de voir s'il y a déjà une mise en œuvre réussie.

Plus précisément, j'ai un AJAX alimenté page qui se dégrade correctement pour les non-javascript des navigateurs + SEO. Chaque clic de l'AJAX version peut être représenté par une URL unique. Ce que je veux faire est de changer dynamiquement le HREF du bouton. Je comprends que cette balise est converti au format HTML standard au moment de l'exécution (à savoir dans une méchante table / iframe mise en page).

Je me demandais juste si quelqu'un a des idées quant à la manière de mettre en œuvre ce FB comme bouton sur AJAX alimenté les pages?

Acclamations à l'avance :)

EDIT:

Que pensez-vous de cette méthode, j'ai juste bidouillé? Voir toutes les énormes problèmes avec elle?

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>

    <script src="JS/jquery/jquery.js" type="text/javascript"></script>
    <script src="http://connect.facebook.net/en_US/all.js#xfbml=1"></script>

    <script language="javascript" type="text/javascript">
        $("document").ready
        (
            function ()
            {
                CreateNewLikeButton("http://www.yahoo.com")

                $("a#ChangeToGoogle").click
                (
                    function (e)
                    {
                        e.preventDefault();
                        CreateNewLikeButton("http://www.google.ca")
                    }
                );

            }
        );

        function CreateNewLikeButton(url)
        {
            var elem = $(document.createElement("fb:like"));
            elem.attr("href", url);
            $("div#Container").empty().append(elem);
            FB.XFBML.parse($("div#Container").get(0));
        }
    </script>
</head>
<body>
    <form id="form1" runat="server">
    <a id="ChangeToGoogle" href="#">Change To Google</a>
    <div id="Container">
        <fb:like href="http://www.NEVER_LINK_TO_THIS_12345.com"></fb:like>
    </div>
    </form>
</body>

</html>

135voto

Barjas Points 1410

SOLUTION SIMPLE

Juste parse déclencher la fonction d’analyse lorsque la charge complète.

Si vous utilisez jQuery, il y a une solution réelle simple et lisse à ce problème :

http://developers.Facebook.com/docs/reference/plugins/like/

23voto

nokturnal Points 1171

Il s’agit de la solution que j’ai fini par aller avec :

2voto

Peter Bailey Points 62125

Vous faites cela dur sur vous-même - juste rendre une nouvelle axée sur les iframe.

2voto

rycaps Points 21

Voilà comment j’ai géré cette situation lorsque je suis tombé sur elle - semble bien fonctionner.

0voto

Csáky Attila Points 21

créer comme bouton

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