JQuery的load()函数会破坏Facebook的点赞按钮/评论框。如何解决?

5
我正在编写一个大型网站,但将我的问题简化为以下微小的HTML文件:

http://dl.dropbox.com/u/3224566/test.html

问题是,如果我使用JQuery重新加载包含Facebook代码的内容,则后者不会出现,即使我重新加载脚本(导致该all.js脚本重复,这是另一个问题)。

我该如何解决这个问题?

谢谢, Quentin

1个回答

6
在加载新内容后,请使用FB.XFBML.parse() 文档
function loadPage() {
  $('#test').load('test.html #test', function() {
    FB.XFBML.parse( );
  }).fadeOut('slow').fadeIn('slow');
}

请注意,在具有id为test的div中加载一个带有id为test的片段将在页面中创建多个(两个)具有相同id的元素(嵌套在一起),这是无效的,不应该发生。

为了避免这种情况,请使用更详细的$.get方法。

$.get('test.html', 
        function(data) {
                    var temp = $('<div>').html(data).find('#test');
                    $('#test').html(temp.html());
              }
      );

非常感谢您的回答。只是关于双重ID test 的问题,最优雅的解决方案是什么? - denisq

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接