我想跟踪人们在我的网站上点击Facebook“喜欢”按钮的时间。
我有一个小的脚本设置,但它似乎不工作,我没有想法,它可能是什么。有什么建议吗?AppID是正确的,这个脚本只是用于测试,所以不要介意缺少验证:
index.html
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:fb="http://www.facebook.com/2008/fbml">
<head>
<title>FB Like Test</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<div id="fb-root"></div>
<script type="text/javascript">
$(document).ready(function() {
window.fbAsyncInit = function() {
FB.init({appId: 'x', status: true, cookie: true, xfbml: true});
FB.Event.subscribe('edge.create', function(href, widget) {
$.ajax({
type: 'POST',
url: 'like-sql.php',
data: ({liked : 1})
});
});
FB.Event.subscribe('edge.remove', function(response) {
$.ajax({
type: 'POST',
url: 'like-sql.php',
data: ({liked : 0})
});
});
};
(function() {
var e = document.createElement('script');
e.type = 'text/javascript';
e.src = 'http://connect.facebook.net/nl_NL/all.js#appId=x&xfbml=1';
e.async = true;
document.getElementById('fb-root').appendChild(e);
}());
});
</script>
<fb:like href="http://x.x.x" layout="button_count" show_faces="true" width="500"></fb:like>
</body>
</html>
like-sql.php
<?php
$status = $_POST['liked'];
mysql_query("UPDATE `fb_like` SET umk_like = $status WHERE user_id = '3432'");
?>
我对整个jQuery ajax都很陌生,所以我不知道该如何调试它。欢迎任何建议:)
编辑:没人知道,伙计们,我拿到了。
我正在一个外部文件中测试这一点,默认情况下我没有包含jQuery ;)我真不敢相信我花了这么长时间才弄清楚它,lol。无论如何,谢谢你的帮助!
发布于 2011-07-28 08:37:10
伙计们,我明白了。
我正在一个外部文件中测试这一点,默认情况下我没有包含jQuery ;)我真不敢相信我花了这么长时间才弄清楚它,lol。尽管如此,还是谢谢你的帮助!
发布于 2011-07-26 12:57:30
尝试警告事件侦听器本身中的某些内容,以查看是否正确地订阅了它
FB.Event.subscribe('edge.create', function(href, widget) {
alert('Like caught !');
$.ajax({
type: 'POST',
url: 'like-sql.php',
data: ({liked : 1})
});
});
并将notify=true添加到fb:like
<fb:like notify="true" href="http://x.x.x" layout="button_count" show_faces="true" width="500"></fb:like>
我对"comment.create“也有同样的问题,我用notify="true”解决了这个问题,并订阅了"comments.add“!但我还是不能订阅"comment.remove"!
https://stackoverflow.com/questions/6828279
复制相似问题