代码之家  ›  专栏  ›  技术社区  ›  Gublooo

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

  •  7
  • Gublooo  · 技术社区  · 16 年前

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

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

    使用Jquery,我提取旧的注释,并在javascript中构建内容,添加fb:profile pic和fb:like标记

    但是这些标签没有出现。我们需要重新装填吗。 谢谢你的帮助

    2 回复  |  直到 16 年前
        1
  •  28
  •   jhchen    16 年前

    首先确保FBML是通过检查器插入DOM的。如果是这样,你所需要做的就是告诉Facebook把FBML标签转换成HTML标签,这样你的浏览器就可以呈现它了。使用图形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'));
    
        2
  •  -1
  •   Reigel Gallarde    16 年前

    构建我的整个字符串 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>

    推荐文章