2012-04-19 24 views
5

Antecedentes: - Estoy usando ajax para obtener una entidad llamada "foo_posts". En este post estoy usando Cerrar y botónFacebook me gusta y botón para compartir en ajax

{% for post in foo_posts %} 
    <div class="foo"> 
     {{ post }} 
     <div class="fb-like" data-send="true" data-width="450" data-href="http://foo/foo/detail/{{ foo.id }}/" data-show-faces="true"></div> 
</div> 

{%}% endfor Ahora bien, estos mensajes están siendo pobladas con Ajax.

Problema: - El Facebook Like and Share se ha inicializado por

$(function(d, s, id) { 
       var js, fjs = d.getElementsByTagName(s)[0]; 
       if (d.getElementById(id)) return; 
       js = d.createElement(s); js.id = id; 
       js.src = "//connect.facebook.net/en_GB/all.js#xfbml=1&appId=245185848840630"; 
       fjs.parentNode.insertBefore(js, fjs); 
     }(document, 'script', 'facebook-jssdk')); 

Esto no está funcionando. ¿Cómo puedo llamar a esta función para que los elementos similares y compartir se llenen correctamente? Debería llamarse en la función de éxito de Ajax. (Ahora mismo lo estoy llamando en la página)

P.S: - Lo intenté en la función de éxito. Supongo que lo estoy haciendo mal.

Respuesta

19

Las etiquetas XFBML solo se analizan en la inicialización de JS-SDK de Facebook de forma predeterminada.

Debe llamar al método FB.XFBML.parse() una vez que agrega el complemento social al DOM después de que se muestre la página.

Puedes llamarlo por todas documento o por un elemento que especifique para buscar elementos dentro XFBML:

FB.XFBML.parse(); 
// OR 
FB.XFBML.parse(DOM_ELEMENT_WHERE_AJAX_CONTENT_IS_PLACED); 
+0

muchas gracias !! funcionó como un encanto – Akamad007

+0

muchas gracias amigo :) – Kanga

Cuestiones relacionadas