【问题标题】:JQuery load() will break facebook like button/comment box. How to workaround?JQuery load() 会像按钮/评论框一样破坏 facebook。如何解决?
【发布时间】:2011-06-14 15:09:35
【问题描述】:

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

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

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

我该如何解决这个问题?

问候, 昆汀

【问题讨论】:

    标签: javascript jquery html facebook load


    【解决方案1】:

    加载新内容后使用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());
                  }
          );
    

    【讨论】:

    • 非常感谢您的回答。刚拿起双id test 的东西,怎么解决最优雅?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-11-12
    • 1970-01-01
    • 1970-01-01
    • 2012-03-02
    • 2012-01-20
    • 2013-06-15
    • 1970-01-01
    相关资源
    最近更新 更多