使用javascript动态加载内容的问题

时间:2011-04-04 14:20:44

标签: javascript jquery html loading dynamic

我正在开发一个动态加载DIV内容的网站。 一切正常,除非内容包含jquery插件(例如,一个twitterfeed),jquery插件不起作用。有人知道如何让插件工作吗?

$(function() {

    var newHash      = "",
        $mainContent = $("#main-content"),
        $pageWrap    = $("#page-wrap"),
        baseHeight   = 0,
        $el;


    $("nav").delegate("a", "click", function() {
        window.location.hash = $(this).attr("href");
        return false;
    });

    $(window).bind('hashchange', function(){

        newHash = window.location.hash.substring(1);

        if (newHash) {
            $mainContent
                .find("#guts")
                .fadeOut(200, function() {
                    $mainContent.hide().load(newHash + " #guts", function() {
                        $mainContent.fadeIn(200, function() {
                            $pageWrap.animate({
                                height: baseHeight + $mainContent.height() + "px"
                            });
                        });
                        $("nav a").removeClass("current");
                        $("nav a[href="+newHash+"]").addClass("current");
                    });
                });


        };

    });

    $(window).trigger('hashchange');


});

1 个答案:

答案 0 :(得分:2)

如果你使用$ .load和选择器($(target).load(“url #selector ”)),jQuery会从响应中删除所有SCRIPT标记。

我想到的一些解决方案是:

  1. 更改后端以仅返回脚本所需的内容
  2. 执行$ .get请求,将响应视为纯文本,执行字符串操作以仅提取所需的部分,然后将结果转换为DOM节点。要做到正确,需要一个HTML解析器。