我有一个特定的页面,它使用了许多必须由 Javascript 例程初始化的小部件(大约 400 个,这是一个复杂的小部件)。这需要一些时间(在较慢的机器上甚至需要 20 秒)。现在我想我可以显示一个进度指示器(一个带有百分比标签的简单文本字段),而不是页面,但我发现即使我不断更新它,正在进行的任务也会阻止一切,我看不到任何更新。所以一切都保持冻结,直到繁重的 javascript 任务完成。我什至做了以下实验,但也冻结了(Firefox 说脚本完成时间太长......):
function a(){
for (var i = 0; i < 5000000000000000; i++){
abb = i;
}
}
var abb;
function c(){
var ef = document.getElementById("pip");
ef.innerHTML = abb;
}
function b(){
setInterval(c, 50);
setTimeout(a, 1000);
}
我唯一的解决方案是将长期工作分解并更新标签....但我想知道是否还有其他解决方案!天哪,JS 需要线程尽快... :)
有任何想法吗?