知道点击了facebook之类的按钮

时间:2011-06-20 08:51:52

标签: javascript facebook

我需要知道我的网页的访问者是否点击了“赞”按钮。 使用此代码:

<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喜欢我的网站,我怎么知道? 我不希望他不喜欢和喜欢再次举办那次活动。

4 个答案:

答案 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=...&amp;send=false&amp;layout=button_count&amp;width=50&amp;show_faces=false&amp;action=like&amp;colorscheme=light&amp;font=arial&amp;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不希望任何人强​​迫别人喜欢任何东西。

如果有人得到更好的答案,请告诉我,但是现在,我认为正确的答案是,不,这是不可能的。