javascript – Iframe是否创建单独的执行上下文?

我正在js中编写一个html解析器来处理和操作很多节点.

我想分割开销,所以我不会导致UI冻结.

我想过使用web Worker但它没有DOM访问权限,所以目前我在循环中使用setTimeout(0)来不冻结UI,但我想创建多个空白iframe并使用它们的窗口上下文来执行此操作任务.

我的问题是,它是否真的被认为是一个单独的执行上下文并且与主要的并行运行,或者它仍然会冻结主UI?

最佳答案 是的,iframe中的
JavaScript在其自己的线程中运行,它不会阻止父窗口.它主要是一个单独的窗口或选项卡,主要区别在于它在父框架内呈现,并且可以使用window.parent引用父框架.

点赞