在加载AJAX内容后,需要重新加载多个脚本

时间:2018-10-17 07:50:39

标签: javascript jquery ajax

我正在制作一个网站,其中的菜单与AJAX一起运行以实现平滑的页面过渡,但是我遇到了必须在AJAX之后重新加载页面的问题,因为在加载的内容上,该内容不会受到Javascript文件的影响。

$.ajax({
  history.pushState(url, null, url_i_am_requesting);
  url: url_i_am_requesting,
  success: function(html) {
    var content = $('<div />').html(html).find('.page-wrapper');
    $('.page-wrapper').html(content);
  }
});

我发现jQuery.getScript()可以正常工作,但是当我有大约10个Javascript文件时,有没有一种方法可以在AJAX完成后又一次又一次地执行它们?

1 个答案:

答案 0 :(得分:0)

jQuery的$.getScript()有时会出现问题,因此我使用自己的实现,例如:

jQuery.loadScript = function (url, callback) {
    jQuery.ajax({
        url: url,
        dataType: 'script',
        success: callback,
        async: true
    });
}

并像这样使用它:

if (typeof someObject == 'undefined') $.loadScript('url_to_someScript.js', function(){
    //Stuff to do after someScript has loaded
});