我从https://developers.facebook.com/docs/reference/plugins/like/获得了类似的按钮代码,在我的page上,类似按钮正确呈现...至少看起来像这样:P
但是,当我点击“赞”按钮时,评论对话框会立即显示并消失,按钮将变为确认链接;然后我点击它,一个弹出窗口让我确认喜欢它...然后,当我回到我的页面时,我可以看到评论对话框。但无论我输入什么,在我点击发布按钮后,对话框将不关闭。
在我的Chrome控制台中,我看到当我点击发布按钮时,会向https://www.facebook.com/plugins/like/comment
发出请求,返回结果为:
for (;;);{"__ar":1,"payload":null}
我在其他网站上比较了这种行为,很明显回报是不同的。但我不明白为什么。
答案 0 :(得分:0)
通常可以通过在init代码中使用app 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的垃圾邮件保护......
答案 1 :(得分: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设置为null。这有效,但它是垃圾邮件。这只是为了实验。
以下是示例页面: 的 http://developer.appacyber.net/feed/test.php 强> 它也适用于localhost:D