如何检测Facebook按下按钮并触发事件?

时间:2011-02-03 11:21:48

标签: facebook facebook-like

以下是示例:

这些家伙让人们先点击“赞”按钮(步骤1),然后让用户在步骤2中下载视频。

有趣的是,检测到了Like按钮并刷新了页面以在步骤2中显示模糊的图像,因此用户可以点击进行下载。

似乎记得我点击了Like(当我重新加载页面时)所以Like按钮不再显示,它只显示第2步。

他们的交易技巧是什么?

5 个答案:

答案 0 :(得分:3)

加载Facebook标签时,会传递fb_sig_is_fan参数,指定查看标签的当前用户是否为粉丝。单击“赞”按钮将触发选项卡内容的重新加载,从而导致更新的fb_sig_is_fan传入,以便应用程序可以决定显示不同的图像。

答案 1 :(得分:3)

实际上,如果用户是页面粉丝,则信息存在于签名请求中。因为您需要首先解码签名请求,就像它在这里:

 $signed_request = $_REQUEST["signed_request"];
 list($encoded_sig, $payload) = explode('.', $signed_request, 2); 
 $data = json_decode(base64_decode(strtr($payload, '-_', '+/')), true);

之后,访问页面变为了变量:

$pageLiked = $data['page']['liked'];

现在FB正在弃用FBML,所以不要将<fb:visible-to-connection>视为适用于长基数的东西。

答案 2 :(得分:1)

http://developers.facebook.com/docs/reference/javascript/FB.Event.subscribe/

FB.Event.subscribe('edge.create', function(response) {
// do something with response.session
});

答案 3 :(得分:0)

<fb:visible-to-connection>
put here code for users that like the page (no <fb:comments>) 
</fb:visible-to-connection>

答案 4 :(得分:0)

用户可以使用 edge.create 检测用户何时点击了按钮。此外,如果用户已经喜欢该页面,则可以使用 FQL Like 表进行检测。