我试图了解如何在特定设置中评估 CSS:
假设我的<head>
标签中有以下内容:
<html><head>
...
<link href="reset.css" type="text/css" rel="stylesheet">
<link href="style.css" type="text/css" rel="stylesheet">
<link href="autocomplete.css" type="text/css" rel="stylesheet">
</head>
<body>
... html ...
<script type="text/javascript" src="/js/script.js"></script>
</body></html>
现在,让我们假设reset.css
并style.css
包含一些规则,这些规则会立即影响上述折叠内容或 HTML 中的元素。但是,autocomplete.css
只包含稍后被某些 JavaScript 使用的类。
现在,让我们进一步假设浏览器已经下载reset.css
,style.css
但autocomplete.css
仍处于等待状态。我想知道如果浏览器在页面末尾遇到阻塞脚本标签会发生什么?显然,它可以将 HTML 渲染到 script 标签,但是缺少的脚本是否阻止了脚本的执行autocomplete.css
?
请注意,脚本标签不是同步的。
我已阅读: https ://developers.google.com/web/fundamentals/performance/critical-rendering-path/analyzing-crp
在那里它说 JavaScript 的执行被阻止,直到 CSSOM 在那里。
autocomplete.css
现在: 1. 页面还没到就开始渲染吗?并且, 2. script.js
javascript 的执行是否被阻止直到autocomplete.css
存在?
注意,我指的是两个不同的东西:渲染和脚本执行。