使用Jquery动态生成时,Facebook标签不会呈现

时间:2010-07-22 03:47:51

标签: jquery-ui facebook jquery facebook-graph-api

为了给你一个简单的用例 - 在我的网站上,我显示了facebook用户发布的评论。对于每个评论,我使用fb:profile-pic标签和类似fb的按钮显示facebook用户照片。

此页面正确呈现,一切都显示良好。现在,当用户想要阅读较旧的评论时,他们会点击“更多”链接

使用Jquery,我提取较旧的评论,并在javascript构建内容中添加fb:profile-pic和fb:like标签

但这些标签不会出现。我们需要重装它还是什么东西。 谢谢你的帮助

2 个答案:

答案 0 :(得分:28)

首先确保使用检查器将FBML插入DOM。如果是这样,您需要做的就是告诉Facebook将FBML标签转换为HTML标签,以便您的浏览器可以呈现它。使用Graph API,您可以使用Javascript SDK调用FB.XHTML.parse http://developers.facebook.com/docs/reference/javascript/FB.XFBML.parse。这是我的代码中的一个例子:

$('#list').append('<fb:name uid="4"></fb:name>');
FB.XFBML.parse(document.getElementById('list'));

答案 1 :(得分:-1)

  

我该怎么做 - 就像我现在一样   建立我的整个字符串说   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>