2012-01-17 2 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); 
    } 
); 

Кнопка Как появляется и работает нормально, но я не получаю уведомление, когда она нажата. Кто-нибудь видит проблему?

Благодарим за помощь.

ответ

5

Вам необходимо прикрепить событие после того, как у JS SDK была возможность загрузить. Для этого используйте fbAsyncInit.

window.fbAsyncInit = function() { 

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

Да, вот и все. Благодарю. Но где document.fbAsyncInit документирован? Поиск на сайте разработчика FaceBook ничего не нашел, и в моей книге «Разработка приложений для детей» нет ничего. – Steve

3

Насколько я могу судить по api, вам нужно подписаться на событие edge.create - пример из документации api.

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

Вы можете прочитать больше о подписке события FB here.

+0

Как вы захватываете событие «follow»? –

Смежные вопросы