javascript - 添加 javascript 函数调用 Facebook 点赞按钮

标签 javascript facebook facebook-javascript-sdk

当用户点击我网站上的“赞”按钮时,我想调用 Javascript 函数。

按钮的源代码是:

<div class="fb-like" 
    data-href="http://www.example.com"
    data-layout="button" 
    data-action="like" 
    data-size="large">
</div>

在浏览器中,呈现为:

<div class="fb-like fb_iframe_widget" data-href="http://www.example.com" data-layout="button" data-action="like" data-size="large" fb-xfbml-state="rendered" fb-iframe-plugin-query="action=like&amp;app_id=&amp;container_width=892&amp;href=http%3A%2F%2Fwww.example.com%2Fm%2F174&amp;layout=button&amp;locale=en_US&amp;sdk=joey&amp;size=large"><span style="vertical-align: bottom; width: 63px; height: 28px;"><iframe name="fb56152a7ff1cc" width="1000px" height="1000px" frameborder="0" allowtransparency="true" allowfullscreen="true" scrolling="no" title="fb:like Facebook Social Plugin" src="https://www.facebook.com/v2.5/plugins/like.php?action=like&amp;app_id=&amp;channel=http%3A%2F%2Fstaticxx.facebook.com%2Fconnect%2Fxd_arbiter%2Fr%2FfTmIQU3LxvB.js%3Fversion%3D42%23cb%3Dfe277476c6182%26domain%3Dlocalhost%26origin%3Dhttp%253A%252F%252Flocalhost%253A8000%252Ff14aab39703836c%26relation%3Dparent.parent&amp;container_width=892&amp;href=http%3A%2F%2Fwww.example.com%2Fm%2F174&amp;layout=button&amp;locale=en_US&amp;sdk=joey&amp;size=large" style="border: none; visibility: visible; width: 63px; height: 28px;" class=""></iframe></span></div>

我已经尝试过:

$('.fb-like').click(function() {
    alert( "Handler for .click() called." );
});

但是这不起作用。我想知道 Facebook 是否有一些我不知道的特殊保护措施来编辑按钮?

最佳答案

这不是它的工作原理,您需要订阅 edge.create 事件:

FB.Event.subscribe('edge.create', page_like_or_unlike_callback);
FB.Event.subscribe('edge.remove', page_like_or_unlike_callback);

来源:https://developers.facebook.com/docs/reference/javascript/FB.Event.subscribe/

您可以将这些订阅放在 FB.init 之后:

window.fbAsyncInit = function() {
    //SDK loaded, initialize it
    FB.init({
        appId      : 'your-app-id',
        xfbml      : true,
        version    : 'v2.8'
    });

    FB.Event.subscribe('edge.create', page_like_or_unlike_callback);
};

更多信息:http://www.devils-heaven.com/facebook-javascript-sdk-login/

关于javascript - 添加 javascript 函数调用 Facebook 点赞按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40749070/

相关文章:

android - Firebase Android Auth 对象没有触发回调

javascript - 需要使用 javascript Facebook api 更改标题以发布到墙上

facebook-graph-api - Facebook JS SDK——权限检查后发布到墙上

javascript - 如何在没有 xfbml.ready 的情况下获取 Facebook 直播视频实例?

javascript - 延迟显示:none [final] part of fadeToggle

javascript - 如何并排居中3张图片?

facebook - wget 用于获取 Facebook 个人资料/ friend 页面

php - 使用 Facebook 和/或电子邮件双重登录网站

javascript - 生成渐变 css/svg 背景

JavaScript/jQuery 解析 xml