Теги Facebook не отображаются при динамическом генерировании с использованием Jquery - PullRequest
7 голосов
/ 22 июля 2010

Чтобы дать вам простой пример использования - на моем веб-сайте я отображаю комментарии, размещенные пользователями Facebook. Для каждого комментария я отображаю фотографию пользователей Facebook, используя тег fb: profile-pic и кнопку fb like.

Эта страница отображается правильно, и все отображается хорошо. Теперь, когда пользователи хотят прочитать старые комментарии, они нажимают на ссылку «Еще»

Используя Jquery, я извлекаю старые комментарии и в javascript собираю контент, добавляя теги fb: profile-pic и fb: like

Но эти теги не отображаются. Нужно ли перезагрузить его или что-то. Спасибо за вашу помощь

Ответы [ 2 ]

28 голосов
/ 22 июля 2010

Сначала убедитесь, что FBML вставляется в DOM с инспектором.Если это так, все, что вам нужно сделать, это попросить Facebook преобразовать теги FBML в теги HTML, чтобы ваш браузер мог их отобразить.Используя Graph API, вы вызываете FB.XHTML.parse http://developers.facebook.com/docs/reference/javascript/FB.XFBML.parse, используя Javascript SDK.Вот пример из моего кода:

$('#list').append('<fb:name uid="4"></fb:name>');
FB.XFBML.parse(document.getElementById('list'));
0 голосов
/ 22 июля 2010

как мне это сделать - как сейчас я построить всю мою строку сказать comment="<div>I love icecream<br/><fb:profile-pic uid='xxx'></fb:profile-pic></div>" Тогда я бы сделал $("#myswipes").html(comment); Так как я бы перезагрузил.

вы можете использовать $.ajax(), скажем

$('a.moreComment').click(function(){
    $.ajax({
        url: 'some/url.php',
        success : function(comment){
            $("#myswipes").html(comment);
        }
    });
})

some/url.php должен находиться на сервере, который может корректно отобразить и вернуть эту строку, <div>I love icecream<br/><fb:profile-picuid='xxx'></fb:profile-pic></div>

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