2012-04-19 16 views
5

Kontekst: - Korzystam z ajaxa, aby uzyskać podmiot nazywany "foo_posts". W tym poście używam Facebook Share i jak przyciskFacebook like and share button na 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 Teraz te posty są wypełniane przy użyciu Ajax.

Problem: - Facebook jak i akcja zostaje zainicjowany przez

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

to nie działa. Jak mogę zadzwonić do tej funkcji, aby podobne i udostępnione zostały poprawnie wypełnione? Powinien zostać wywołany w funkcji sukcesu ajax. (W tej chwili wołam to na stronie)

P.S: Próbowałem go w funkcji sukcesu. Myślę, że robię to źle.

Odpowiedz

19

Znaczniki XFBML są analizowane domyślnie tylko podczas inicjowania JS-SDK na Facebooku.

Po dodaniu wtyczki społecznościowej do DOM po renderowaniu strony należy wywołać metodę FB.XFBML.parse().

można nazwać dla wszystkich dokumentów lub poprzez określenie elementu, aby szukać elementów XFBML ciągu:

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

wielkie dzięki !! pracował jak wdzięk – Akamad007

+0

bardzo dziękuję koleś :) – Kanga

Powiązane problemy