6

我从https://developers.facebook.com/docs/reference/plugins/like/获得了点赞按钮代码,在我的页面上,点赞按钮被正确呈现……至少看起来像这样:P

但是当我点击like按钮时,评论对话框立即出现又消失,按钮变成了Confirm链接;然后我点击喜欢,弹出窗口要求我确认是否喜欢它......然后,当我回到我的页面时,我可以看到评论对话框。但是无论我输入什么,在我点击发布按钮后,对话框都不会关闭。

在我的 Chrome 控制台中,我看到当我单击Post按钮时,向 发出请求https://www.facebook.com/plugins/like/comment,返回结果是:

for (;;);{"__ar":1,"payload":null}

我在其他网站上比较了这种行为,很明显回报是不同的。但我不知道为什么。

4

2 回答 2

0

实际上luschn是对的。你应该创建appID。facebook需要在点击它时计算LIKES。你知道,这很简单。也许您需要从按钮中获取一些东西:p

试试这个东西:

<div id="fb-root"></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/de_DE/all.js#xfbml=1&appId=null";
  fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>

<span class="fb-like" data-href="https://www.facebook.com/fb-name"  data-layout="button" data-action="like"></span>

appID 设置为空。这有效,但它是垃圾邮件。这仅用于实验。

这是示例页面: http: //developer.appacyber.net/feed/test.php 它也适用于本地主机:D

于 2014-11-09T17:08:02.013 回答
0

通常可以通过在初始化代码中使用应用程序 ID 来解决该问题:

<div id="fb-root"></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/de_DE/all.js#xfbml=1&appId=xxxxxxxxx";
  fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>

那是 Facebook 的垃圾邮件保护...

于 2012-12-10T15:48:15.990 回答