我有兴趣实现facebook“赞”按钮,但我想知道用户点击此按钮是什么,所以我可以从中获得一些有用的信息。从我读过的内容来看,Facebook正在让我们陷入黑暗中,谁在点击什么。有人知道如何跟踪哪个用户点击特定产品的类似按钮?
更新:facebook按钮由iFrame或xFBML呈现。这就是为什么很难跟踪谁点击什么,或嵌入onclick事件等。
答案 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&layout=standard&show_faces=false&width=450&action=like&colorscheme=light&height=35" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:450px; height:35px;" allowTransparency="true"></iframe>