2012-04-19 39 views
5

背景: - 我使用ajax來獲得一個實體稱爲「foo_posts」。在這篇文章中我使用Facebook的喜歡並分享按鈕Facebook上的喜歡和分享按鈕上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%} 現在,這些帖子正在使用Ajax填充。

問題: - 像Facebook和份額得到由

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

這是行不通的初始化。我怎樣才能調用這個函數,以便類似和共享得到正確的填充? 它應該在ajax成功函數中調用。 (現在我就稱它爲網頁本身)

P.S: - 我想它的成功的功能。我想我做錯了。

回答

19

默認情況下,XFBML標籤僅在Facebook JS-SDK初始化時解析。

你應該叫FB.XFBML.parse()方法,一旦你添加社交插件DOM頁面之後被渲染。

你可以叫它爲所有文件或通過指定元素中搜索XFBML元素:

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

非常感謝!像魅力工作 – Akamad007 2012-04-19 09:22:00

+0

非常感謝花花公子:) – Kanga 2015-03-17 16:14:43