2013-06-03 111 views
1

我想讓Facebook「like」觸發回調,但它似乎根本不工作或者偶爾工作。這裏是我的代碼:Facebook回調沒有被觸發

Like按鈕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> 

回撥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應用程序的頁面只是爲了嵌入一個「喜歡」按鈕?

謝謝。

回答

4

edge.create僅在使用xfbml版本的類似按鈕時才被觸發。

變化

<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> 
+0

感謝您的快速反應!只是測試了兩個版本的JS回調,它仍然無法正常工作。 – user1296175

+0

嗯,檢查我的小提琴 - http://jsfiddle.net/mxXY2/1/ – smalu

+0

謝謝!現在工作很好。 – user1296175