gpt4 book ai didi

javascript - 防止长时间运行的 javascript 锁定浏览器

转载 作者:IT王子 更新时间:2023-10-29 02:57:53 27 4
gpt4 key购买 nike

我有 JavaScript,它执行大量计算以及从 DOM 读取/写入值。该页面很大,因此这通常会导致浏览器锁定长达一分钟(对于 IE 有时会更长)且 CPU 使用率为 100%。

是否有关于优化 JavaScript 以防止这种情况发生的任何资源(我能找到的只是如何关闭 Firefox 的长时间运行脚本警告)?

最佳答案

如果您可以将您的计算算法变成可以迭代调用的东西,您可以通过使用 setTimeout 以频繁的间隔将控制权交还给浏览器。具有较短的超时值。

例如,像这样的东西......

function doCalculation()
{
//do your thing for a short time

//figure out how complete you are
var percent_complete=....

return percent_complete;
}

function pump()
{
var percent_complete=doCalculation();

//maybe update a progress meter here!

//carry on pumping?
if (percent_complete<100)
{
setTimeout(pump, 50);
}
}

//start the calculation
pump();

关于javascript - 防止长时间运行的 javascript 锁定浏览器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/672732/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com