Facebook как кнопка автоматически отменяет себя - PullRequest
1 голос
/ 29 ноября 2010

У меня есть несколько кнопок, похожих на Facebook, которые отображаются через XFBML.После нажатия на них, они, кажется, работают в том, что они превращаются из стандартной кнопки «Мне нравится» в значок «вверх», который говорит: «Вам нравится это».Тем не менее, через секунду или две (я полагаю, что требуется время, чтобы поразить серверы FB и вернуться), он автоматически не любит себя, превращаясь в исходную кнопку «Нравится».

Смотрите видео о том, чтоЯ имею в виду здесь.

Мой код довольно стандартен:

<html xmlns="http://www.w3.org/1999/xhtml" xmlns:fb="http://www.facebook.com/2008/fbml" lang="en">

...

<fb:like href="http://www.example.com/valid/path" layout="button_count" ref="recipe_preview" />

...

<script type="text/javascript">
    window.fbAsyncInitExt = function() {
        FB.Event.subscribe('edge.create', function(response) {
            alert('Facebook Like Button: ' + response);
        });
    };
</script>

...

<div id="fb-root"></div>
<script type="text/javascript"> 
    window.fbAsyncInit = function() {
        FB.init({
            appId:  'XXXXXXXXXX',  // my app ID is here
            status: true,
            cookie: true,
            xfbml:  true
        });
        if (typeof(fbAsyncInitExt) == 'function') {
            fbAsyncInitExt();
        }
    };
    (function() {
        var e = document.createElement('script');
        e.type = 'text/javascript';
        e.src = document.location.protocol + '//connect.facebook.net/en_US/all.js';
        e.async = true;
        document.getElementById('fb-root').appendChild(e);
    })();
</script> 

Редактировать: Для чего это стоило, я также попытался увидеть, отправлял ли Facebookлюбая информация журнала, но она не выглядит так:

<script type="text/javascript">
    window.fbAsyncInitExt = function() {
        FB.Event.subscribe('edge.create', function(response) {
            alert('Facebook Like Button: ' + response);
            console.debug(response);
        });
        FB.Event.subscribe('fb.log', function(response) {
            alert('LOG: ' + response);
            console.debug(response);
        });
    };
</script>

Ответы [ 2 ]

4 голосов
/ 29 ноября 2010

После долгих копаний я наконец-то обнаружил источник ошибки.Оказывается, страница, на которую ссылается значение href в моем теге fb:like, требует хотя бы один из тегов fb:app_id или fb:admins META в HEAD.Для справки: http://developers.facebook.com/docs/opengraph

0 голосов
/ 22 сентября 2012

Попробовав все решения, которые я смог найти, ни одно из них не сработало, но я попытался использовать идентификатор приложения «Live feed» вместо стандартного «Live Stream», когда вы получаете код со страницы разработчиков Facebook, что сработало для меня.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...