【问题标题】:multiple facebook like buttons (fb:like) are not working: unliking themself多个 facebook like 按钮 (fb:like) 不起作用:不喜欢自己
【发布时间】:2011-12-15 04:23:48
【问题描述】:

EDIT: LAST UPDATE:

所以,我们已经测试了更多。我使用了 facebook 开发人员 'lintner' http://developers.facebook.com/tools/lint/。在我的任何一个页面上都没有发现错误,而且 lint 页面上的点赞按钮运行良好。如果我切换回自己的网站,我可以清楚地看到我的点赞数已计入。

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

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


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

  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/

(除了这些关于类似问题的大量帖子之外)

但读完之后我仍然不确定出了什么问题。在大多数页面上,赞按钮都可以正常工作(至少对我来说,如果有人添加赞,我不确定会发生什么,因为我还没有发现“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(刚刚添加)

在我的情况下,最后一个按钮 (nr 6 + 7) 在我按下按钮时添加了一个赞,但在我这样做后它也会自动删除。评论框弹出一秒钟,但在瞬间它也消失了,计数器跳回 0。当我从链接 1-5 中删除一个喜欢时,它会按原样删除它,我可以添加它没有被删除。

对于我所阅读的内容,我必须使用 Facebook Javascript SDK 才能使用 <fb:like> 标记,我已经这样做了。起初我使用了一个应用程序 ID,但经过一些阅读后,很明显,like 按钮不需要应用程序 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,只有在存在有效图片且标题、网址和图片对于每个页面-标题-图片组合都 100% 确定唯一的情况下才会包含在内。

然后同样使用 PHP 生成点赞按钮:

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

我尝试从这部分删除 href,但我认为这会搞砸并使用相同的 URL (?!) 制作每张图片

在页面底部,&lt;/body&gt; 标记之前,放置以下代码:

<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

所以我将管理员和应用 ID 添加到元标记并等待了几个小时,然后我收到了错误消息:

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

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

显然是因为放错了“/”,但奇怪的是,除了极少数情况外,每个页面都可以正常工作。这一切都是使用 PHP 自动构建的,所以在我看来,FB 按钮在所有情况下的行为都应该相同。

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

【问题讨论】:

  • 最后一页按钮对我来说似乎正常工作。如果您尝试太快地测试太多类似按钮,也许您可​​能会遇到某种垃圾邮件控制?
  • 最后一个按钮确实有效,第 6 个按钮无效。我注意到元日期中有一点 URL 错误。修复了“67”,但“66”仍然无法正常工作。
  • 哈!我一直告诉人们 Facebook 很糟糕。完全使用这个问题/答案作为我未来咆哮的参考! :P 开个玩笑,但祝你好运。
  • 尝试替换 ?在您的 fb:url 中使用 &63;问号的 HTML 实体。 Wellicht 是 dat het ;)
  • 你应该使用 IFRAME 版本!!为什么要使用 fb:like 的东西,因为它无论如何都被 iframe 替换了(iframe 在解析 fb:like 标记时由某些 JS 加载...... ???

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


【解决方案1】:

您的代码中似乎缺少&lt;div id="fb-root"&gt;&lt;/div&gt;。我很惊讶它实际上完全有效。有关更多信息,请参阅:http://developers.facebook.com/docs/reference/javascript/FB.init/

如果这不能解决问题,请尝试包含此 stackoverflow 线程中描述的管理员 ID 或应用 ID。 Facebook like button is automatically undoing itself

编辑:我会尝试的另一件事是将&lt;div id="fb-root"&gt;&lt;/div&gt; 直接移动到 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>

把你的脚本标签放在任何地方...

【讨论】:

  • 锋利!当我注意到 fb-root 没有附加任何内容时,我删除了这个 div。我将它添加回页面。谢谢您的帮助。查看我编辑的帖子(底部)了解最后的更改。
  • 是的,这也让我很困惑。在我看来,如果没有这个 div,Facebook 开发人员可以很容易地让它工作。更不用说人们有时在同一个页面上有多个点赞按钮,这迫使开发人员在同一个文档中拥有多个具有相同 ID 的元素。即使是一个蹩脚的实习生也知道这是个坏主意,但我们在这里谈论的是 Facebook 开发人员,我可以咆哮几个小时他们有多糟糕。那么在您修复错位的斜线后它是否有效?
  • 还没有修复。错位的斜线是由某些东西引起的,但我不知道在哪里。 og:url 和 fb:like-href 100% 正确,但仍有一些页面出错。我添加了一个 utf8 标头来测试这是否会导致问题,但它不起作用。我什至没有像在“66 号”上那样在新图像上看到“管理错误”链接。在这里生气:(
  • utf-8 也不是问题解决者.. 还有其他建议吗?
  • 这似乎对我有用,在 66 和 67 上。你解决了吗?如果你没有,我会说你可以直接尝试类似 iframe 的按钮,而不是 xfbml 按钮。 url linter 为您提供 iframe 版本的代码,尽管您可能需要调整它的大小。
【解决方案2】:

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

奇怪的是我猜这个错误是一个错误的 URL,但是 meta+fb:like URL 很好。我想这是一个小错误,很快就会修复。可惜没有人知道这个问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多