【问题标题】:Updating Facebook Like button with current URL使用当前 URL 更新 Facebook Like 按钮
【发布时间】:2013-02-05 00:05:04
【问题描述】:

我有一个漫画网站Hitting Trees with Sticks,我想在其中添加 Facebook 点赞按钮。

如您所见,主页上有您可以点击的缩略图...缩略图将根据漫画的 ID 在 vi​​ewcomic.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

但是,出于某种原因,即使我转到下一个漫画 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'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>

【问题讨论】:

标签: php facebook


【解决方案1】:

您需要更新 data-href 属性,因为您使用的是类似按钮的 html5 样式

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

【讨论】:

  • 翼,这样吗? (见上文)
猜你喜欢
  • 2011-12-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-05-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多