使用当前URL更新Facebook Like按钮

时间:2013-02-20 04:17:16

标签: php facebook

我有一个漫画网站,Hitting Trees with Sticks,我想添加Facebook喜欢按钮。

正如您所看到的,主页上有缩略图,您可以点击...缩略图将根据该漫画的ID在viewcomic.php上加载完整大小的漫画。我认为在their tutorial.之后添加xfbml很容易我尝试添加xfbml和html5版本。

然后我将以下类似按钮代码添加到我的viewimage.php页面,其中唯一的$ imgid将是:

<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

enter image description here

但是,出于某种原因,即使我转到下一个漫画ID,并强制URL和页面重新加载(我必须以这种方式重新加载,因为我使用javascript来允许用户按键来浏览图像和需要它来重新加载页面和ID)...

            window.history.pushState(null, null, '.?action=viewimage&site=<?php echo $site; ?>&id=<?php echo $imgid ?>);
            window.location.reload();

它会给我整个网站的总喜欢,而不是该网址唯一的$ imgid:http://www.hittingtreeswithsticks.com/?action=viewimage&site=comics&id=61

enter image description here

我甚至尝试使用Elure's tutorial之后的以下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>

1 个答案:

答案 0 :(得分:1)

您需要更新data-href属性,因为您正在使用html5样式,如按钮

document.getElementById('fb').setAttribute('data-href', sUrl);
FB.XFBML.parse();