我有一个包含 150 行的列表,每行有三个蒙皮选择项。
因为在显示每个结果之前需要进行大量处理,所以我收到一条错误消息“此页面上的脚本可能很忙,或者它可能已停止响应。您可以立即停止脚本,或者您可以继续查看脚本是否会完全的。” 它指的是 jquery.js 文件。
是否可以通过做一些 jQuery 工作来避免这个错误?
谢谢你。
我有一个包含 150 行的列表,每行有三个蒙皮选择项。
因为在显示每个结果之前需要进行大量处理,所以我收到一条错误消息“此页面上的脚本可能很忙,或者它可能已停止响应。您可以立即停止脚本,或者您可以继续查看脚本是否会完全的。” 它指的是 jquery.js 文件。
是否可以通过做一些 jQuery 工作来避免这个错误?
谢谢你。
您需要将您的处理分成多个部分,并通过使用 0 或 1 毫秒的 setTimeout 给浏览器一些时间来处理它们之外的事情。
一个非常简单的方法是使用异步库的forEachSeries
方法:
async.forEachSeries(yourData, function(item, cb) {
// process item
async.nextTick(cb);
});
yourData
可能是包含您的行的 jQuery 对象,然后item
将是一行的 DOM 元素。
在需要时下载 JavaScript,而不是在页面加载时全部下载。
网站性能专家 Steve Souders 在他的“更快的网站”一书中写到了这个问题以及如何解决这个问题。他描述了一种解决方案,您可以使用超时让其他进程也获得一些时间。
这是本书中处理这个问题的部分。