2012-02-29 136 views
1

我正在制作一个网站,我将在那里保留一个下载按钮,下载将仅在访问者点击我的FB Fanpage时才可用。这应该检测用户是否已经喜欢它或第一次。PHP检查访问者是否喜欢我的FB页面

我GOOGLE了很多,但没有找到确切的解决方案,我的查询。

任何人都可以帮助我吗?

+0

按钮位于哪里?这在Facebook Page选项卡上很简单(只需使用'$ _REQUEST ['signed_request']'),否则就不那么简单了 – scibuff 2012-02-29 17:03:33

+0

您需要能够识别用户,所以唯一的方法是通过请求从Facebook($ _POST ['signed_request'] - >解码等),或通过使用SDK允许用户首先登录到您的网站。 – Ing 2012-02-29 17:22:22

+0

@scibuff不在Facebook上,它将在我的PHP网站 – Nick 2012-02-29 17:42:27

回答

3

使用FB.Event.subscribe met hod:

<div id="fb-root"></div> 
<script src="http://connect.facebook.net/en_US/all.js"></script> 
<script> 
FB.init({ 
    appId: 'YOUR_APP_ID', 
    status: true, 
    cookie: true 
}); 
FB.Event.subscribe('edge.create', function(response) { 
    $("#downloadlink").show(); 
}); 
</script> 
1

你可以在围绕FB代码的div标签上放置一个onclick事件。 onclick事件的回调函数可以使得可见(最简单的方法是使用jQuery)包含下载链接的div标签。

例如

<div id="fblike"> 
<!-- fb code --> 
</div> 

<div id="downloadlink"> 
<!-- download link here --> 
</div> 

<script language="javascript"> 
$("#downloadlink").hide(); 
$("#fblike").click(function() { 
    $("#downloadlink").show(); 
}); 
+0

我想检测用户是否喜欢我的页面?什么将正确的脚本做到这一点 – Nick 2012-02-29 17:43:32

0

如果他们在你的网站会记录下来,你可以拦截点击像这样:

1)给你的喜欢按钮的ID,如id="likey"

2)使用类似这样的功能

$("#likey").click(function(event){ 
    event.preventDefault(); 
    linkLocation = this.href; 
    //insert ajax call that records information in database 
    window.location = linkLocation; 
}); 
+0

阿格,msgmash击败了我,但我的方式会记录它,如果他们将来回到网站,你仍然可以显示按钮,而不必点击“像”再次 – story 2012-02-29 17:28:05

+0

我确切的问题是我如何查询Facebook是否当前访问者登录或不?如果是的话那么他是否喜欢我的网页 这是我的主要问题,我该如何解决它? – Nick 2012-02-29 17:45:01

相关问题