我有以下JavaScript代码
<div class="fb-like-box" data-href="snip" data-colorscheme="light"
data-show-faces="false" data-header="false" data-stream="false"
data-show-border="true"></div>
我正在尝试检测单击“喜欢”按钮的时间。上面的代码呈现了iframe,因此我的jquery事件处理程序为
$('.fb-like-box > button').on('click', function() { console.log('Clicked'); });
永远不要开火。我尝试将这个div和其他内容包装在一个包装div中并在$()调用中定位,但它只在单击其他内容时触发,而不是由Facebook SDK呈现的区域。
答案 0 :(得分:5)
https://developers.facebook.com/docs/reference/javascript/FB.Event.subscribe/v2.3
您只需为喜欢订阅edge.create
活动即可。请参阅文档以获取示例代码。
但是如评论所述,您不能因为喜欢而奖励用户。阅读平台政策以获取更多信息:https://developers.facebook.com/policy/
更新:https://developers.facebook.com/blog/post/2017/11/07/changes-developer-offerings/
edge.create和edge.remove JS SDK事件:将无法再访问这些事件。作为替代方案,您可以使用我们的Webhooks,并在每次有人喜欢您的某个Facebook页面时收到通知。
答案 1 :(得分:0)
此代码适用于我:
<script>
var liked_page = function() {
alert("liked!");
}
FB.Event.subscribe('edge.create', liked_page);
</script>
我把它放在页面的末尾。此外,我相信你也应该放置
<div id="fb-root"></div>
在页面的开头,紧跟在&lt; body&gt;之后标签
答案 2 :(得分:0)
edge.create和edge.remove JS SDK事件:将无法再访问这些事件。作为替代方案,您可以使用我们的Webhooks,并在每次有人喜欢您的某个Facebook页面时收到通知。
https://developers.facebook.com/blog/post/2017/11/07/changes-developer-offerings/