我在<body>
标记下面加了JavaScript API代码(下面)。
<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加载的页面中呈现?
答案 0 :(得分:5)
Facebook在页面加载后搜索fbml标签,这就是社交插件在加载时呈现的原因。如果你在加载后添加新的,你必须告诉Facebook再次渲染FBML。你可以轻松地调用FB.XFBML.parse(),或者包含一个DOM元素引用,让Facebook扫描/渲染只是页面的一部分。
https://developers.facebook.com/docs/reference/javascript/FB.XFBML.parse/