JQuery load()将像按钮/评论框一样破坏Facebook。如何解决?

时间:2011-06-14 15:09:35

标签: javascript jquery html facebook load

我正在编写一个大型网站,但我已将我的问题减少到以下微小的html文件中:

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

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

我该如何解决这个问题?

此致 昆汀

1 个答案:

答案 0 :(得分:6)

加载新内容后使用FB.XFBML.parse() docs

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());
              }
      );