我想跟随我在网页上看到多少喜欢,但出了点问题。我正在使用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>
答案 0 :(得分:6)
嗯..我尝试了很多版本,但这个版本完美无缺:
<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>
我希望它可以为其他人提供帮助。
答案 1 :(得分:1)
您正在使用if按钮的iframe版本 - javascript事件仅从XFBML版本触发 - 这在Like Button documentation
中有解释如何知道用户何时点击“赞”按钮?
如果您使用的是按钮的XFBML版本,则可以通过FB.Event.subscribe订阅“edge.create”事件。