我想关注我的页面上有多少个赞,但有些不对劲。我正在使用Facebook javascript事件处理程序,但它不起作用。
当我单击喜欢或不喜欢按钮时,它应该提醒我,但它没有做任何事情。知道我错在哪里吗?谢谢!对不起我的英语。
这是我更新的代码:
<!DOCTYPE html>
<html xmlns:fb="http://ogp.me/ns/fb#">
<head>
<title>FBlike check</title>
</head>
<body>
<div id="fb-root"></div>
<script>
(function(d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) return;
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/en_US/all.js#xfbml=1&appId=00000000000000000";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
FB.Event.subscribe('edge.create',
function(response) {
alert('You liked the URL: ' + response);
}
);
</script>
<fb:like href="https://www.facebook.com/XYZ" send="false" layout="button_count" width="200" show_faces="false"></fb:like>
</body>
</html>
嗯..我尝试了很多版本,而不是这个版本完美运行:
<script>
window.fbAsyncInit = function () {
FB.init({
appId: 'MY_APP_ID',
status: false,
cookie: false,
xfbml: true
});
//Additional
FB.Event.subscribe('edge.create',
function (response) {
alert('LIKED: ' + response);
}
);
};
// Asynchronously
(function (d) {
var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0];
if (d.getElementById(id)) { return; }
js = d.createElement('script'); js.id = id; js.async = true;
js.src = "//connect.facebook.net/en_US/all.js";
ref.parentNode.insertBefore(js, ref);
} (document));
</script>
<fb:like href="https://www.facebook.com/MY_FB_PAGE" send="false" layout="button_count" width="200" show_faces="false"></fb:like>
我希望它能帮助其他人。
您使用的是 iframe 版本的 like 按钮 - javascript 事件仅从 XFBML 版本触发 - 这在 Like 按钮文档中进行了解释
我如何知道用户何时单击"赞"按钮?
如果您使用的是XFBML版本的按钮,则可以通过FB订阅"edge.create"事件。事件订阅。