循环中的大文件上的jQuery load()使浏览器无响应。怎么修?

时间:2018-05-29 22:34:40

标签: jquery html ajax

我围绕以下内容循环:

$(document).ready(function() {
    $( "#" + divname[k]).load(documentname[k] + ".html", function(a, b) {
        console.log(documentname[k] + " was loaded");
    });
});

循环约为30-50次迭代,每个文件不同,重量约为1mb。

我已经尝试过safari和chrome,两个浏览器都会在1-2分钟内没有响应,直到所有内容都被加载并且控制权交还给用户。

如果循环只有10个项目,它可以正常工作而不会冻结。 我做了很多研究,看起来$()。load应该异步工作而不会冻结UI。 我做错了什么?

谢谢!

1 个答案:

答案 0 :(得分:-1)

如果您将其放置在页面顶部,并且该页面上有其他HTML元素,则不需要加载,请考虑将JavaScript放在页面底部,这样这是最后一件事。

您也可以将该代码放在$( document ).ready()函数中。