0

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>
4

1 に答える 1

2

ボタンのようなhtml5スタイルを使用しているため、data-href属性を更新する必要があります

document.getElementById('fb').setAttribute('data-href', sUrl);
FB.XFBML.parse();
于 2013-02-21T16:43:40.020 に答える