多个facebook喜欢按钮(fb:like)不起作用:不喜欢自己

时间:2011-06-17 12:06:48

标签: javascript facebook facebook-like facebook-javascript-sdk

EDIT: LAST UPDATE

所以,我们已经测试了一些。我使用了facebook开发者的lintner'http://developers.facebook.com/tools/lint/。在我的任何一个页面上都没有发现任何错误。在lint-page上的like按钮工作正常。如果我切换回自己的网站,我可以清楚地看到我的喜欢已被计算在内。

奇怪的是..如果我在自己的页面上删除了类似的东西,并且神奇地能够从我自己的网站添加类似内容。

我刚刚改变的最后一件事就是将我的doctype改为STRICT // EN,因为这是我发现与使用类似按钮和我的某些页面不同的唯一部分......


我一直在搜索这个bug一段时间了,但我似乎无法找到问题所在。我用过很多页面来获取我需要的信息:

  1. http://developers.facebook.com/docs/opengraph/
  2. http://www.proworks.com/blog/2010/04/28/add-advanced-javascript-sdk-and-fbml-facebook-likerecommend-button-features-to-your-website/
  3. http://www.hyperarts.com/blog/how-to-add-facebook-like-button-social-plugins-to-wordpress-posts/
  4. http://www.1stwebdesigner.com/tutorials/facebook-integrate/
  5. http://developer.practicalecommerce.com/articles/1857-Two-Easy-Ways-to-Add-the-Facebook-Like-Button-to-Product-Detail-Pages
  6. http://developers.facebook.com/docs/reference/plugins/like/
  7. (除了这些关于类似问题的stackoverflow上的这些帖子之外)

    但毕竟阅读后我仍然不确定会出错。在大多数页面上,like按钮工作正常(对我而言,至少,不确定如果有人添加了类似的内容,因为我还没有发现'2')。

    这些是具有类似按钮的当前页面:

    1. http://ontwikkel.fotoactie.nl/pic.php?id=61
    2. http://ontwikkel.fotoactie.nl/pic.php?id=62
    3. http://ontwikkel.fotoactie.nl/pic.php?id=63
    4. http://ontwikkel.fotoactie.nl/pic.php?id=64
    5. http://ontwikkel.fotoactie.nl/pic.php?id=65
    6. http://ontwikkel.fotoactie.nl/pic.php?id=66
    7. http://ontwikkel.fotoactie.nl/pic.php?id=67(刚刚添加)
    8. 在我的情况下,当我按下按钮时,最后一个按钮(nr 6 + 7)增加了一个,但是在我这样做之后它也会自动删除。一秒钟后会弹出一个注释框,但是在一瞬间它会逐渐消失,然后计数器会跳回到0.当我从链接1-5中删除其中一个时,会将其删除,我可以添加它没有被删除。

      对于我所读到的内容,我必须使用Facebook Javascript SDK才能使用我已经完成的<fb:like>标记。起初我使用了一个应用程序ID,但经过一些阅读后很明显,类似按钮不需要app-id。

      然后我发现了所需的元数据标签。这些是我在页面上放置的内容:

      <?php if($curPicTitle != false) { ?>
      <meta property="og:site_name" content="<?=URL;?>"/>
      <meta property="og:type" content="article" />
      <meta property="og:title" content="Fotoactie.nl: <?=$curPicTitle;?>"/>
      <meta property="og:url" content="<?=URL;?>pic.php?id=<?=$pic;?>" />
      <meta property="og:image" content="<?=URL;?>/photos/1/med_<?=$curPicUrl;?>"/>
      <?php } ?>
      

      请注意PHP,只有在存在有效图像时才会包含它,并且标题,网址和图片对于每个页面标题图像组合都是唯一唯一的。

      然后使用PHP生成like按钮:

      echo '<fb:like send="false" href="'. URL . '/pic.php?id=' . $pic . '" layout="button_count" width="100%" show_faces="false"></fb:like>';
      

      我尝试从这个部分删除href,但我相信这会搞乱并使用相同的URL制作每个图像(?!)

      在页面底部,就在</body>标记之前,此代码放置在:

      <script src="http://connect.facebook.net/nl_NL/all.js"></script>
      <script>
        FB.init({
          status : true, // check login status
          cookie : true, // enable cookies to allow the server to access the session
          xfbml  : true  // parse XFBML
        });
      </script>
      

      如果有人能够在最后一页(以及必要时的其他页面)上测试类似按钮,我将不胜感激。这不是“像我的东西”的帖子,这些照片是演示图片,一切正常后将被删除。

      提前致谢。

      / EDIT

      所以我添加了管理员&amp;元标记的应用程序ID并等了几个小时,然后我收到了错误消息:

      De pagina op http://ontwikkel.fotoactie.nlpic.php/?id=66是niet bereikbaar。

      翻译的内容:无法访问http://ontwikkel.fotoactie.nlpic.php/?id=66上的页面。

      显然这是因为错位''',但奇怪的是,每个页面都在工作,除了一些罕见的情况。这一切都是使用PHP自动构建的,因此在我看来,FB Button在所有情况下都应该表现相同。

      按钮页面上的来源(上面链接#6:?id = 66)是正确的..

2 个答案:

答案 0 :(得分:2)

您的代码中似乎缺少<div id="fb-root"></div>。我很惊讶它实际上是有效的。有关详情,请参阅此处:http://developers.facebook.com/docs/reference/javascript/FB.init/

如果这样做无法解决问题,请尝试按照此stackoverflow线程中的说明添加管理员ID或应用ID。 Facebook like button is automatically undoing itself

编辑:我要尝试的另一件事是将<div id="fb-root"></div>直接移到facebook标记上方。我注意到你的脚本标签正上方,身体标签附近。尽管在页面内容之后加载Facebook脚本是好的(并且更可取),但我的理解是facebook标记必须保持完整。

您的标记应如下所示:

<div id="fb-root"></div><fb:like href="http://ontwikkel.fotoactie.nl/pic.php?id=66" send="false" width="450" show_faces="false" font=""></fb:like>

将脚本标记放在任何地方......

答案 1 :(得分:0)

似乎Facebook需要大量时间来处理元标记中的更改。例如,管理标签花了几个小时才向我显示错误链接(如果出现错误,将布局设置为“标准”会显示管理员消息)。

奇怪的是错误我猜是错误的URL,但是meta + fb:就像URL一样好。我想这是一个小错误,很快就会修复。太糟糕没有人知道这个问题了。