Facebook нравится с FB.Event.subscribe - PullRequest
3 голосов
/ 28 ноября 2011

У меня в данный момент есть кнопка «Мне нравится» в моем приложении, и мне нужно определить, когда на нее нажимают, чтобы я мог вызвать некоторый JavaScript.

В настоящее время я использую это:

FB.Event.subscribe('edge.create', function(response) {});

Чтобы это работало, вы должны использовать FBML-версию кнопки «Мне нравится». Он не работает с версией HTML5.

Мне интересно, что будет с 1 января, когда FBML устарел?

Спасибо

Ответы [ 2 ]

2 голосов
/ 16 февраля 2012

На самом деле, вы можете делать то, что вы хотите сделать с версией HTML5.Ваш Javascript будет выглядеть примерно так:

window.fbAsyncInit = function() {
    FB.init({
        appId      : 'YOUR_APP_ID', // App ID
        channelUrl : '//WWW.YOUR_DOMAIN.COM/channel.html', // Channel File
        status     : true, // check login status
        cookie     : true, // enable cookies to allow the server to access the session
        xfbml      : true  // parse XFBML
    });

    // CUSTOM LISTENING CODE, or anything else using FB.something, goes below

    // SAMPLE LISTENING CODE

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

    // END SAMPLE LISTENING CODE

};

Обратите внимание, что вам также потребуется настроить файл канала, как описано в документации Facebook Javascript SDK .Но, правильно инициализировав Javascript SDK, а затем не забывая включить весь код FB.something в функцию window.fbAsyncInit, вы абсолютно точно сможете определить, когда нажата кнопка HTML5 как.

1 голос
/ 28 ноября 2011

FBML и xFBML - это не одно и то же.

xFBML используется для простого добавления кнопок на веб-страницы. FBML был языком, используемым для разработки холст-приложений.

Если FBML устарел, xFBML не планируется удалять!

Обратите внимание: наш отказ от FBML не влияет на XFBML (расширенный язык разметки Facebook). XFBML - это набор элементов XML, которые могут быть включены в ваши HTML-страницы для отображения социальных плагинов. Когда ваша страница загружена, все элементы XFBML, найденные в документе, обрабатываются SDK JavaScript, в результате чего на вашей странице отображается соответствующий плагин. JavaScript SDK будет продолжать поддерживать XFBML после устаревания FBML (за исключением элемента fb: serverFbml, который используется для выполнения FBML на наших серверах).

Источник: https://developers.facebook.com/blog/post/568/

...