facebook の Like ボタンと Comments API を自分のサイトに組み込みます (とうとう)。現在、私のサイトには、クエリ文字列を使用して正しいコンテンツを決定するページが 1 つあります (私のサイトには、このクエリ文字列を使用する 4000 を超えるエントリがあります)。したがって、ユーザーにとって、この 1 つのページは多くのページのように見えます。このように考えてください...
productPage.php?productID=1234
コメント API を問題なく追加できるようになりました。URL/クエリ文字列の違いを区別できるのは素晴らしいことです。ただし、いいねボタンは機能しません。クリックするとちらつき、元の状態に戻ります (いいね! は登録されません)。URL を正しくエンコードしています (以下を参照)
<?php
$fbUrl = urlencode("https://" . $_SERVER["HTTP_HOST"] . $_SERVER['REQUEST_URI']);
// echo "this page is " . $fbUrl;
?>
<script>
window.fbAsyncInit = function() {
FB.init({
appId : 'XXXXXXXXXXXXXXXXX', // App ID
channelUrl : '//www.myURL.co.uk/channel.php', // Channel File
status : true, // check login status
cookie : true, // enable cookies to allow the server to access the session
xfbml : true // parse XFBML
});
// Additional initialization code here
};
</script>
Oh I love this content....
<br><br>
<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=205472122918257";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
</script>
<div class="fb-like" data-href="<?php echo $fbUrl; ?>" data-send="true" data-width="450" data-show-faces="false"></div>
<br><br>
and add a comment...
<br><br>
<div class="fb-comments" data-href="<?php echo $fbUrl; ?>" data-num-posts="2" data-width="470" data-colorscheme="dark"></div>
私はこれに数時間を費やしましたが、他の人もこれに苦しんでいることに気付きましたが、誰も解決策を持っていないようです. 私は解決策を見つけようとしてウェブをトロールしていますが、この問題の回避策や経験を持っている人はいますか?