问题描述
当浏览器去下载CSS文件时,chrome中html文件的解析过程会发生什么? 可能会发生很多选择,但无法理解究竟会发生什么?
(1)第一个选项:当 chrome 中的渲染引擎看到 CSS 文件时,某些东西会下载它并且渲染将停止解析并且在下载完成之前什么都不做,那么有两个选项:
a) 引擎将开始解析 CSS 文件,在从 css 完成后,它将继续解析 html 并呈现它?
b) 下载完成后,引擎将再次返回 html,并在完成解析后返回 css。
(2)第二个选项:下载不会影响html的解析它会在后台下载时继续解析html,下载完成后可能会出现两个选项:
a) 引擎会继续解析 html,然后从 html 解析完成后返回下载的 css?
b) 引擎会在完成 css 后离开其余 html 时立即解析 css?
解决方法
以下发生在 Chromium 中:
CSS 文件,与通过 <link>
元素加载的任何其他文件一样,不会影响解析器。解析器将继续并同时发出 GET 请求以获取请求的源。
CSS 由主线程解析,但这是在解析 HTML 之后完成的。