我需要知道我的网页的访问者是否点击了“赞”按钮。 使用此代码:
<fb:like href="[my_url]" layout="button_count" show_faces="false" width="20" font=""></fb:like>
并包含来自facebook的脚本。 我知道我可以用这个:
FB.Event.subscribe('edge.create', function(response) {
//if the user click on Like
}
但如果用户alredy喜欢我的网站,我怎么知道? 我不希望他不喜欢和喜欢再次举办那次活动。
答案 0 :(得分:6)
http://unbound-media.com/facebook/how-to-tell-if-a-facebook-user-likes-your-facebook-application/
FB.Event.subscribe('auth.sessionChange', function(response) {
if(response.session){
//check to see if user is a fan of the page
var query = FB.Data.query( 'select page_id from page_fan where uid='+response.session.uid+' and page_id ='+PAGE_ID);
query.wait( function(rows) {
if(rows.length){
//user already likes your page
}else{
//user has not yet liked your page
}
});
}else{
//user has not yet logged in
}
});
更新:
我个人使用
<iframe src="http://www.facebook.com/plugins/like.php?app_id=...&send=false&layout=button_count&width=50&show_faces=false&action=like&colorscheme=light&font=arial&height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:50px; height:21px;" allowTransparency="true"></iframe>
我从这里得到的:http://developers.facebook.com/docs/guides/web/
无法再从其所在页面再次点击
答案 1 :(得分:3)
事实上可能:
FB.login(function(response) {
if (response.status == 'connected') {
FB.api('me/likes/' +fb_page_id_or_fb_user_id, function(likes) {
if (likes.data.length > 0) {
alert('yaay, page liked');
}
});
} else {
alert('unable to connect to fb');
}
}, {scope: 'user_likes'});
答案 2 :(得分:1)
将like按钮放在另一个元素中并添加到它上面单击
<div onclick="doSomething();">
<fb:like href="[my_url]" layout="button_count" show_faces="false" width="20" font=""> </fb:like>
</div>
答案 3 :(得分:-2)
这里只有一个被接受的ansver。
我认为这不可能,我最终放弃了。
我认为Facebook不希望人们知道是否点击了Like按钮,因为Facebook不希望任何人强迫别人喜欢任何东西。
如果有人得到更好的答案,请告诉我,但是现在,我认为正确的答案是,不,这是不可能的。