jQuery AJAX:仅在成功回调中加载唯一的JS文件

时间:2014-04-09 13:16:24

标签: javascript jquery ajax getscript

我是一个像这样结构的ajaxified网站:

<body>
    <div id="site-header"> content here </div>
    <div id="site-body"> content here </div>
    <div id="site-footer"> content here </div>
<body>

现在,当点击任何链接时,会执行这样的jQuery脚本:

$.ajax({
    url: targetURL,
    dataType: "html",
    success: function(response) {
        var targetBody = $(response).filter('#site-body').html();
        $('body').prepend('<div id="ajax-body"></div>');
        $('#ajax-body').append(targetBody);
    }
});

它完美无缺。但现在问题是目标页面可能包含一些尚未加载的js文件(因为我们没有加载目标页面的js文件,只有特定的div)。在这种情况下,如果目标页面具有依赖于此类脚本以正常运行的任何内容将无法按预期运行(例如图像滑块)。

我知道,我可以使用.getScript方法来加载该脚本,但问题是在这种情况下,我没有任何页面特定脚本的先验知识,所以我不能像那样硬编码js文件源。

现在的问题是,jQuery中是否有任何方法可以检查response数据中是否存在尚未加载的任何唯一js文件,然后仅在AJAX回调函数中加载该js文件?

0 个答案:

没有答案