Facebook“赞”按钮/计数器无法在tumblr中工作

时间:2012-09-11 00:19:52

标签: tumblr

maexculture.tumblr.com是我的网站。

刚刚安装了facebook按钮,首先,它要求确认喜欢,然后在确认并按下“喜欢”后,它会切换到计数,然后回到零。 “发送”功能有效。但喜欢的功能不是 - 没有在Facebook上出现的东西等等。

这就是我在页面顶部的内容:

<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:fb="https://www.facebook.com/2008/fbml"
      xmlns:og="http://ogp.me/ns#"
      xml:lang="en"
      lang="en">

具体按钮:

<div class="facebook-button">
    <div class="fb-like" data-href="{Permalink}" data-send="true"
         data-layout="button_count" data-width="450" 
         data-show-faces="true"></div>
</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=271140516272162";
  fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>

如果您需要更多信息,请与我们联系。

1 个答案:

答案 0 :(得分:1)

夫妻问题:

如果您的代码“靠近head标签”,那么DOM很可能在执行时不会完全填充,因此它将错过检测某些元素。访问或操作现有DOM元素的任何脚本都需要之后创建这些元素的任何HTML(例如,在</body>之前)。

fjs = d.getElementsByTagName(s)[0]非常脆弱,因为它取决于一个特定的脚本元素是文档中的第一个。在该脚本上放置一个ID,然后使用getElementByID()

进行查找

要回答你的评论,我的意思是 (用HTML格式)

<script id="fjs" type="text/javascript" src="..." </script>

(在处理脚本中)

fjs=d.getElementByID('fjs');

换句话说,不是依靠特定<script>元素作为文档中的第一个元素,而是在其上粘贴id标签,以便无论它在何处都可以找到它。< / p>