杀死旧的javascript并在ajax请求后加载新的javascript

时间:2017-04-12 17:07:05

标签: javascript jquery html ajax

我想在执行新的Ajax请求后停止执行一些JavaScript代码,之后我想加载新代码。

这是我到目前为止所做的:

$.ajax({
    url: '../../files/php/user_actions/user_checkout.php' + '?rel=tab',
    success: function(data) {
        $("#content").html(
            $('<div />').html(data).find("#content").html()
        );

        //execute JavaScript
        var a = document.getElementsByTagName('script'); //Replace "document" with the received data?!
        for (var n = 0; n <= a.length; n++) {
            var source = $(a[n]).attr('src');
            if (source !== undefined) { //only use the scripts containing a src-attr
                console.log(source);
                $(a[n]).remove(); //remove objects from the DOM
                $.getScript(source); //execute the scripts
            }
        }
    }
});

1 个答案:

答案 0 :(得分:1)

答案是,没有办法做到这一点......

您必须通过从当前页面重定向来重置连接,从已加载的脚本中清除ram。

我将所有脚本放在一起并使它们成为个体,因此我一次加载了所有脚本,因此我可以动态更改网站的来源。