我發現這篇博客文章可能有幫助。 http://dominicminicoopers.blogspot.com/2012/03/assigning-url-for-facebook-comments.html
要做到這一點,它將會是稍微不同的代碼。注意,一旦FB對象完全初始化,callAjax就需要發生。我將它放在window.fbAsyncInit函數中,以確保FB已正確加載並初始化。
<div id="fb-root"></div>
<div id="myCommentsDiv"></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=YOUR_APP_ID";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
window.fbAsyncInit = function() {
FB.init({
appId : 'YOUR_APP_ID', // App ID
channelUrl : '//WWW.YOUR_DOMAIN.COM/channel.html' // Channel File
});
callAjax();
};
function callAjax(yourData) {
$.ajax({
url: "YOUR_AJAX_URL",
data: yourData,
success: function(){
var mydiv = $('#myCommentsDiv');
mydiv.html('<div class="fb-comments" href="' + document.location.href + '" posts="2" width="470">');
FB.XFBML.parse(mydiv[0]);
}
});
}
};
</script>
我沒有看到「FB.XFBML.parse();」在ajax.html或ax.html中。另外,我沒有看到FB.init。理想情況下,將AJAX內容渲染到頁面上後運行FB.XFBML.parse完全正常。我們已經在很多應用中使用過它。 – Shreeni 2012-03-19 23:59:31
謝謝Shreeni,我真的不知道該把它放在哪裏(因爲它不想在我認爲應該放置的地方工作 - 在ax.html頁面內)。你或者某個人可能沒有一個簡單的例子來說明如何將這個Ajax調用(觸發頁面+被調用頁面)拼接在一起? – Herman 2012-03-20 07:23:15