防止长时间运行的JavaScript锁定浏览器
我有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();
-
在(同步)Ajax期间停止浏览器锁定?
2021-01-31 关注 0 浏览93 1答案
-
违反长时间运行的JavaScript任务花费了xx毫秒
2021-02-02 关注 0 浏览91 1答案
-
违规长时间运行的 JavaScript 任务花费了 xx 毫秒
2022-03-22 关注 0 浏览25 1答案
-
防止浏览器缓存JavaScript文件的更好方法
2021-02-02 关注 0 浏览111 1答案
-
如何防止Ajax / javascript结果在浏览器中缓存?
2021-01-31 关注 1 浏览83 1答案
-
ajax请求后浏览器将等待多长时间?
2021-01-31 关注 1 浏览92 1答案
-
Flutter 花费了很长时间才能连接到浏览器
2021-01-31 关注 0 浏览178 1答案
-
长时间轮询会冻结浏览器并阻止其他ajax请求
2021-02-02 关注 0 浏览61 1答案
-
异步启动长时间运行的进程
2021-01-31 关注 0 浏览110 1答案
-
JavaScript如何检测浏览器后退按钮事件-跨浏览器
2021-02-02 关注 0 浏览98 1答案