2012-01-17 161 views
4

我試圖訂閱Like按鈕單擊。下面是我的代碼:捕獲Like按鈕的單擊事件

<body> 

<!-- Facebook Like Button with your App ID --> 
<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=349467237487892"; 
    fjs.parentNode.insertBefore(js, fjs); 
}(document, 'script', 'facebook-jssdk')); 

FB.Event.subscribe('edge.create', 
    function(response) { 
    alert('You liked the URL: ' + response); 
    } 
); 

的Like按鈕出現,工作正常,但它被點擊的時候我沒有得到警報。有沒有人看到這個問題?

感謝您的幫助。

回答

5

您需要在JS SDK有機會加載後附加事件。使用fbAsyncInit來做到這一點。

window.fbAsyncInit = function() { 

    FB.Event.subscribe('edge.create', function(response) { 
     alert('You liked the URL: ' + response); 
    }); 
}; 
+1

是的,就是這樣。謝謝。但window.fbAsyncInit記錄在哪裏? FaceBook開發人員網站的搜索沒有發現任何內容,我的「Facebook應用程序開發傻瓜書」沒有任何內容。 – Steve 2012-01-17 05:28:14

3

據我所知,你需要訂閱edge.create事件 - api文檔中的例子。

FB.Event.subscribe('edge.create', 
    function(response) { 
     alert('You liked the URL: ' + response); 
    } 
); 

你可以閱讀更多關於FB事件訂閱here

+0

你如何捕捉「跟隨」事件? – 2016-12-12 05:48:53