我对实现 facebook 的“赞”按钮很感兴趣,但我想知道什么用户点击了这个按钮,这样我就可以从中获得一些有用的信息。从我读到的内容来看,Facebook 让我们对谁在点击什么一无所知。任何人都知道我如何跟踪哪个用户点击了特定产品的喜欢按钮?
更新:点赞按钮由 facebook 通过 iFrame 或 xFBML 呈现。这就是为什么很难跟踪谁点击了什么,或者嵌入一个 onclick 事件等等。
我对实现 facebook 的“赞”按钮很感兴趣,但我想知道什么用户点击了这个按钮,这样我就可以从中获得一些有用的信息。从我读到的内容来看,Facebook 让我们对谁在点击什么一无所知。任何人都知道我如何跟踪哪个用户点击了特定产品的喜欢按钮?
更新:点赞按钮由 facebook 通过 iFrame 或 xFBML 呈现。这就是为什么很难跟踪谁点击了什么,或者嵌入一个 onclick 事件等等。
<script>
FB.Event.subscribe('edge.create', function(href, widget) {
alert('You just liked the page!');
});
</script>
所以我简单地为每个登录用户渲染了一个独特的喜欢按钮,网址为 www.somewebsite.com/thisIsThePageIlike/facebookUID。
这不会破坏拥有喜欢按钮的目的并弄乱您的 Facebook 搜索排名吗?每个用户都会喜欢不同的 url,所以 facebook 会认为你有大量的页面,每个页面都有一个喜欢计数。
我也有 XFBML 的问题,比如 edge.create 事件没有触发的按钮
好的,我可以让你知道我是如何实现它的。我想得到的是 Facebook 用户点击我的 facebook 连接应用程序中的“喜欢”按钮的 UID。我注意到当用户点击“喜欢”按钮时,facebook 会从按钮中获取传递给它的 URL,所以我只是为每个登录用户呈现一个唯一的喜欢按钮,URL 为 www.somewebsite.com/thisIsThePageIlike/facebookUID . 当请求使用此 url 到达 Web 服务器时,它的工作方式类似于回调,如果用户第一次单击“喜欢”,我将处理并记录 UID(即……此“喜欢”的记录不存在)在数据库中)。为我工作。
这将类似于我为我客户的站点所拥有的站点,例如
<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>
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>