我需要用JS操作DOM(在OpenStreetMap上创建引脚和标签对象)。操纵过程需要花费很多时间。 如何才能阻止网页? 用户应该能够同时使用该网页。
答案 0 :(得分:1)
您可以分批进行。在每个批处理结束时,使用短暂超时计划下一批setTimeout批次,以便浏览器有机会刷新显示,处理事件等。
此外,如果您执行的操作需要很长时间,因为它必须等待某些缓慢的操作(如网络请求),请在数据可用时通过回调启动,以非阻塞方式执行此操作。轮询而不放弃CPU将使浏览器认为脚本不再响应并询问用户是否要终止它。
答案 1 :(得分:0)
如果您正在做一些需要同步的同步作业,您可以这样做:
setTimeout(function(){
//write your js here
},0)
这应解决