2012-04-19 12 views
5

Sfondo: - Sto utilizzando ajax per ottenere un'entità chiamata "foo_posts". In questo post sto usando facebook e pulsante mi piacePulsante Mi piace e condividi su Facebook su 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%} Ora questi posti vengono popolati con Ajax.

Problema: - Il Facebook Like e la quota viene inizializzata dal

$(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')); 

Questo non funziona. Come posso chiamare questa funzione, in modo che i like e le condivisioni vengano popolate correttamente? Dovrebbe essere chiamato nella funzione successo ajax. (In questo momento sto chiamando sulla stessa pagina)

P.S: - Ho provato nella funzione di successo. Immagino lo stia sbagliando.

risposta

19

I tag XFBML vengono analizzati solo sull'inizializzazione JS-SDK di Facebook per impostazione predefinita.

È necessario chiamare il metodo FB.XFBML.parse() dopo aver aggiunto il plug-in social al DOM dopo il rendering della pagina.

Si può chiamare per tutti i documenti o specificando elemento per cercare elementi XFBML entro:

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

grazie mille !! ha funzionato come un fascino – Akamad007

+0

grazie mille amico :) – Kanga

Problemi correlati