在传统的浏览器中,HTML 解析器运行于主线程之中,并且在遇到 </script> 标签后会被阻塞,直到脚本从网络中被获取和执行。
Firefox 4 和后续的版本支持从主线程中分离的预解析技术。当脚本在获取和执行的过程中,预解析技术能提前解析 HTML 文档。
在 Firefox 3.5 和 3.6 中,HTML 解析器能够在文档流中预先加载脚本、层叠样式表和图片。然而,在 Firefox 4 和后续的版本中 HTML 解析器也预先运行 HTML 树构建算法。
这一举措的优点是当预解析成功后,就没有必要再重新解析已经扫描过并且成功下载的脚本,层叠样式表和图片;缺点就是当预解析失败之后,有很多工作需要去做。
参考
developer.mozilla.org/zh-CN/docs/…