Facebook“喜欢”按钮回调

时间:2010-05-09 18:15:09

标签: javascript facebook button callback facebook-like

我有兴趣实现facebook“赞”按钮,但我想知道用户点击此按钮是什么,所以我可以从中获得一些有用的信息。从我读过的内容来看,Facebook正在让我们陷入黑暗中,谁在点击什么。有人知道如何跟踪哪个用户点击特定产品的类似按钮?

更新:facebook按钮由iFrame或xFBML呈现。这就是为什么很难跟踪谁点击什么,或嵌入onclick事件等。

5 个答案:

答案 0 :(得分:64)

<script>
  FB.Event.subscribe('edge.create', function(href, widget) {
    alert('You just liked the page!');
  });
</script>

答案 1 :(得分:9)

  

所以我只是为每个登录用户呈现一个唯一的类似按钮,其URL为   www.somewebsite.com/thisIsThePageIlike/facebookUID。

这不会失败的目的是有一个像按钮和搞乱你的Facebook搜索排名?每个用户都会喜欢不同的网址,因此Facebook会认为你有大量的网页,每个页面都有一个相同的数量。

我也遇到了类似XFBML的问题,其中edge.create事件未触发

答案 2 :(得分:6)

好的,我可以告诉你我是如何实现它的。我想得到的是Facebook用户点击我的脸书连接应用程序内的“赞”按钮的UID。我注意到当用户点击“喜欢”按钮时,Facebook会从按钮中获取传递给它的URL,因此我只是为每个登录用户呈现一个唯一的类似按钮,其URL为www.somewebsite.com/thisIsThePageIlike/facebookUID 。当一个请求带有这个url来到Web服务器时,它就像回调一样工作,如果用户第一次点击“喜欢”,我会处理并记录UID(即...这个'喜欢'的记录不存在在数据库中)。适合我。

答案 3 :(得分:1)

window.fbAsyncInit = function () {

    FB.Event.subscribe('edge.create', function (response) {
        alert('Liked');
        });
    }
    );
    FB.Event.subscribe('edge.remove', function (response) {
        alert('DisLiked')
    });
};

(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/en_US/sdk.js#xfbml=1&version=v2.7";
    fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));

HTML: -

<div id="fb-root"></div><div class="fb-like" data-href="https://www.facebook.com/testpage" data-layout="standard" data-action="like" data-size="small" data-show-faces="true"></div>

答案 4 :(得分:0)

这就像我对客户网站的那些,例如

<iframe src="http://www.facebook.com/plugins/like.php?href=www.jesterkaraoke.com&amp;layout=standard&amp;show_faces=false&amp;width=450&amp;action=like&amp;colorscheme=light&amp;height=35" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:450px; height:35px;" allowTransparency="true"></iframe>