edge.create event not fired in Like box
I am not able to fire the edge.create
event in the Like box. However, it works with a normal like button. Is there a restriction?
Here is my coding:
<html>
<head>
</head>
<body>
<div id="fb-root"></div>
<script src="http://connect.facebook.net/en_US/all.js"></script>
<script>
FB.init({
appId : 'ID12456',
status : true, // check login status
cookie : true, // enable cookies to allow the server to access the session
xfbml : true // parse XFBML
});
</script>
<p>Like Box:</p>
<script src="http://connect.facebook.net/en_US/all.js#xfbml=1"></script>
<fb:like-box href="http://www.facebook.com/apps/application.php?id=163685566990893" stream="false"></fb:like-box>
<br/><br/>
<script>
FB.Event.subscribe('edge.create', function(response) {
alert("Ok");
});
</script>
</body>
</ht开发者_如何学Goml>
Mabe because you're linking your Facebook JavaScript code (all.js
) two times.
I tried that code on FB Rell, and it's working.
<h1>Platform like-box Plugin with Defaults</h1>
<fb:like-box name="platform"></fb:like-box>
<script>
FB.Event.subscribe('edge.create',
function(response) {
alert('You liked the URL: ' + response);
}
);
</script>
Yes this is a known FB bug. See http://developers.facebook.com/bugs/378710432185222/
It seems to work sometimes in some situations and not in others. One solution is to swap in the regular like button instead. If you use the Facebook JS API and an FQL call, you can get access to all the info you need (page name, url, square pic) to recreate a similar looking widget. Not ideal, but it works...
精彩评论