Comment ajouter un Facebook bouton “j'Aime” à AJAX page dynamique
J'ai parcouraient le net et de Débordement de Pile et n'ont pas trouvé une réponse adéquate à cette question. Avant de commencer le processus de tâtonnement et de trouver ma propre solution, j'ai pensé me tourner vers le Dépassement de Pile braintrust et de voir s'il y a déjà une mise en œuvre réussie.
J'ai un AJAX alimenté page qui se dégrade correctement pour les non-javascript des navigateurs et de RÉFÉRENCEMENT. 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>
- Vous dites que vous l'utilisez XFBML version le bouton j'aime? Pourquoi ne pas simplement utiliser l'iframe un?
- Il semble juste lourd d'avoir à analyser le DOM de modifier dynamiquement le HREF du bouton. Je voulais juste voir si il y avait un moyen de le changer à l'aide de XFBML.
- Votre solution m'a beaucoup aidé, merci!
- pour info, cela fonctionne aussi pour un html5 facebook bouton ( d'où son un div avec un id/classe )
Vous devez vous connecter pour publier un commentaire.
SOLUTION SIMPLE
Juste parse déclencher la fonction d'analyse lorsque la charge complète.
Si vous utilisez jQuery, il y a un réel facile et nappe la solution à ce problème:
http://developers.facebook.com/docs/reference/plugins/like/
C'est la solution que j'ai fini par aller avec:
Vous faites ce dur sur vous-même - il suffit de rendre une nouvelle iframe un.
C'est la façon dont j'ai géré cette situation quand j'ai couru en - semble bien fonctionner.
créer comme le bouton
Charge après la fenêtre de charges, c'est ce qui fonctionne pour moi:
Si vous êtes à l'aide de la framework jQuery Mobile vous pouvez exécuter le même code que l'on a accepté la réponse dans la
pagecontainershow
événement jQuery Mobile utilise lors de l'affichage d'une nouvelle page.