Facebookのいいねボタンを追加したい漫画のウェブサイトHitting Trees with Sticksがあります。
ご覧のとおり、ホームページにはクリックできるサムネイルがあります... サムネイルは、そのコミックの ID に基づいて viewcomic.php にフルサイズのコミックをロードします。チュートリアルに従って xfbml を追加するのは簡単だと思いました。xfbml と html5 のバージョンを追加してみました。
次に、一意の $imgid が配置される viewimage.php ページに次のようなボタン コードを追加しました。
<div class="fb-like" id="fb" data-href="http://www.hittingtreeswithsticks.com/?action=viewimage&site=<?php echo $site; ?>&id=<?php echo $imgid; ?>" data-send="false" data-layout="button_count" data-width="60" data-show-faces="true"></div>
コミックを最初にクリックしてフル サイズで表示すると、その $imgid と URL (0 である必要があります) の正しいいいね数が表示されます: http://www.hittingtreeswithsticks.com/?action=viewimage&site=comics&id=62
しかし、何らかの理由で、次のコミック ID に移動し、URL とページのリロードを強制する場合でも (JavaScript を使用してユーザーがキーを押して画像をナビゲートできるようにするため、この方法でリロードする必要があります。ページと ID をリロードします)...
window.history.pushState(null, null, '.?action=viewimage&site=<?php echo $site; ?>&id=<?php echo $imgid ?>);
window.location.reload();
その URL の一意の $imgid ではなく、サイト全体の合計いいね数が表示されます: http://www.hittingtreeswithsticks.com/?action=viewimage&site=comics&id=61
Elureのチュートリアルに従って、次のjavascriptでhref属性を強制的に更新しようとさえしました:
<script type="text/javascript">
var sUrl = window.location;
document.getElementById('fb').setAttribute('href', sUrl);
</script>
理由はありますか?
ありがとう!
このような?
<div class="fb-like" data-href="http://www.hittingtreeswithsticks.com/?action=viewimage&site=<?php echo $site ?>&id=<?php echo $imgid; ?>" data-send="true" data-layout="button_count" data-width="450" data-show-faces="true" data-font="trebuchet ms"></div>
<script type="text/javascript">
document.getElementById('fb').setAttribute('data-href', sUrl);
FB.XFBML.parse();
</script>