Facebook Callback没有被触发

时间:2013-06-03 18:02:56

标签: javascript facebook facebook-like facebook-javascript-sdk

我试图让Facebook“喜欢”触发回调,但它似乎根本不起作用或零星工作。这是我的代码:

LIKE BUTTON HTML

<div id="fb-root"></div>
<script src="http://connect.facebook.net/en_US/all.js" type="text/javascript"></script>
<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=123456789";
  fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>
<div class="fb-like" data-href="http://flevy.com/powerpoint-plugin" data-send="false" data-layout="box_count" data-width="50" data-show-faces="false"></div>

CALL BACK JAVASCRIPT

window.fbAsyncInit = function() {
    FB.init({appId:'123456789', status:true, cookie:true, xfbml:true});
    try {
        FB.Event.subscribe('edge.create', function(href, widget) {
            deliverEmail();
        });
    } catch (e) {}
};

我也试过这个:

FB.Event.subscribe('edge.create', function(href, widget) {
    deliverEmail();
});

如果您想测试它,这是实时版本: http://flevy.com/powerpoint-plugin

另一个问题。我创建了一个绑定到URL的Facebook应用程序,并在代码中引用其appID。是否有必要这样做 - 即。为页面创建一个FB应用程序只是为了嵌入一个“喜欢”按钮?

感谢。

1 个答案:

答案 0 :(得分:4)

仅当您使用xvbml版本的like按钮时才会触发

edge.create

更改

<div class="fb-like" data-href="http://flevy.com/powerpoint-plugin" data-send="false" data-layout="box_count" data-width="50" data-show-faces="false"></div>

<fb:like href="http://flevy.com/powerpoint-plugin" send="false" layout="box_count" width="50" show_faces="false"></fb:like>