私はこのブログ記事を参考にすることができます。 http://dominicminicoopers.blogspot.com/2012/03/assigning-url-for-facebook-comments.html
これを行うには、少し異なるコードがあります。 FBオブジェクトが完全に初期化されると、callAjaxが発生する必要があることに注意してください。 FBを正しくロードして初期化したことを確認するために、window.fbAsyncInit関数の内部に配置しました。
<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
ありがとうShreeni、私は正直なところ、どこに置くべきかわかりません(ax.htmlページ内に配置する必要があると思ったところでは動作したくないので)。あなたや他の人が、このAjax呼び出し(Trigger page + Called page)を一緒にスティッチする方法の簡単な例はないでしょうか? – Herman