2011-12-08 29 views
2

我已经包含JavaScript API的代码(如下图)Facebook的社交插件。渲染只是<code><body></code>标签下面用ajax

<div id="fb-root"></div> 
<script>(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_US/all.js#xfbml=1&appId=<APP_ID>"; 
    fjs.parentNode.insertBefore(js, fjs); 
}(document, 'script', 'facebook-jssdk'));</script> 

我也为喜欢和评论框添加了各自的标记。当从浏览器直接装而不是在页面加载用ajax

的社交插件渲染罚款。

什么我需要做的,以确保社会的插件在通过Ajax加载的页面呈现?

回答

5

Facebook的搜索FBML标签一旦页面加载,这就是为什么社交插件负荷呈现。如果你在加载后添加新的,你必须告诉Facebook再次呈现FBML。你可以简单地调用FB.XFBML.parse(),或者包含一个DOM元素引用,让Facebook扫描/渲染只是页面的一部分。

https://developers.facebook.com/docs/reference/javascript/FB.XFBML.parse/

+0

我已阅读,Facebook正打算弃用XFBML.parse()等方法FBML。我对么? [链接] https://developers.facebook.com/docs/reference/fbml/如果Facebook确实弃用它们,我们应该使用什么来渲染标签? – iamkhush