Javascript 多个类似facebook的按钮(fb:like)不起作用:自行取消链接
Javascript 多个类似facebook的按钮(fb:like)不起作用:自行取消链接,javascript,facebook,facebook-like,facebook-javascript-sdk,Javascript,Facebook,Facebook Like,Facebook Javascript Sdk,编辑:上次更新: 所以,我们测试了更多。我使用了facebook开发者的“lintner”http://developers.facebook.com/tools/lint/。我的任何一个页面上都没有发现错误,加上lint页面上的like按钮工作正常。如果我切换回我自己的网站,我可以清楚地看到我喜欢的已经被计算了 奇怪的是。。如果我在自己的网页上删除了类似的内容,并且能够神奇地从自己的网站上添加类似的内容 我刚才做的最后一件事是将我的doctype更改为STRICT//EN,因为这是我发现的唯一
编辑:上次更新
:
所以,我们测试了更多。我使用了facebook开发者的“lintner”http://developers.facebook.com/tools/lint/
。我的任何一个页面上都没有发现错误,加上lint页面上的like按钮工作正常。如果我切换回我自己的网站,我可以清楚地看到我喜欢的已经被计算了
奇怪的是。。如果我在自己的网页上删除了类似的内容,并且能够神奇地从自己的网站上添加类似的内容
我刚才做的最后一件事是将我的doctype更改为STRICT//EN,因为这是我发现的唯一与使用like按钮和我的页面不同的部分
我搜索这个bug已经有一段时间了,但似乎找不到问题所在。我使用了很多页面来获取我需要的信息: (除了这些关于stackoverflow的帖子之外,还有很多关于类似问题的帖子) 但读了这么多书后,我还是不确定到底出了什么问题。在大多数页面上,like按钮工作正常(至少对我来说,我不确定如果有人添加like会发生什么,因为我还没有发现'2' 以下是带有like按钮的当前页面:
标记,我不得不使用Facebook Javascript SDK,我已经完成了这项工作。起初,我使用了一个应用程序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 } ?>
看起来Facebook需要很多时间来处理你的元标签的变化。例如,admin标记花了几个小时才向我显示错误链接(如果出现错误,将布局转换为“标准”将显示一条管理消息)
奇怪的是,我猜错误是一个错误的URL,但是meta+fb:like URL是好的。我想这是一个小错误,很快就会被修复。很遗憾,没有人知道这个问题。您的代码中似乎缺少
。我很惊讶它居然能起作用。有关更多信息,请参见此:
如果这还不能解决问题,请尝试包含此stackoverflow线程中描述的管理员id或应用程序id
编辑:我想尝试的另一件事是将
移动到facebook标记的正上方。我注意到它就在脚本标记的上方,靠近body标记。尽管在页面内容之后加载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>
将脚本标记放在任何地方…最后一页按钮似乎对我正常工作。如果你试图测试太多的按钮,比如太快的按钮,你可能会碰到一些垃圾邮件控制?最后一个按钮确实有效,第六个按钮无效。我注意到元日期中有一点URL错误。修正了“67”,但“66”仍然不起作用。哈!我总是告诉人们Facebook不好。完全使用此问题/答案作为我未来咆哮的参考P只是开玩笑,但祝你好运。试着换新的吗?在您的fb:url中,使用&63;问号的HTML实体。Wellicht是dat het;)您应该使用IFRAME版本!!你为什么要使用fb:like这个东西,因为它被一个iframe替换了(iframe在解析fb:like标记时由一些JS加载…??Sharp!当我注意到fb root没有附加任何内容时,我删除了这个div。我将它添加回页面。谢谢你的帮助。请参阅我编辑的帖子(底部)对于最后的更改。是的,这也让我困惑。在我看来,没有这个div,Facebook开发人员可以很容易地让它工作。更不用说人们有时在同一页面上有多个like按钮,这迫使开发人员在同一文档中有几个ID相同的元素。即使是一个蹩脚的实习生也知道这是一个坏主意,但我们在这里谈论的是Facebook开发者,我可以大声抱怨他们有多糟糕。那么,在你修复了错误的斜杠后,它起作用了吗?仍然没有修复。错误的斜杠是由某种原因造成的,但我不知道在哪里。og:url和fb:like href是100%正确的,但仍然有一些页面出错。我添加了一个utf8头,以测试是否这导致了问题,但它不起作用。我甚至没有像在“66号”上那样在新图像上获得“管理错误”链接。这里有点生气:(utf-8也不是问题解决者..还有其他建议吗?对我来说,它似乎对66和67都有效。你解决了吗?如果你没有,我想说你可以直接尝试iframe-like按钮,而不是xfbml按钮。url linter为你提供iframe版本的代码,尽管你可能需要调整它的大小。
<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>
<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>