We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
一般来说HTML在开始接收到返回数据的时候就开始解析HTML并构建DOM树(详见: how brower work )。如果没有JS(JavaScript)阻塞的话一般会相继完成。
<link href="//res.jiuyan.info/.../base.css" rel="stylesheet"> <script> // rem 布局脚本 </script> </head>
通常情况下,上面代码的link部分和script部分如果单独出现,都不会阻塞页面的解析:
然而,当这两部分同时出现的时候,问题就来了。
通常情况下,CSS不会阻塞HTML的解析,但如果CSS后面有JS,则会阻塞JS的执行直到CSS加载完成(即便JS是内联的脚本),从而间接阻塞HTML的解析。
一个小小的内联JS放错位置也会让性能下降很多。
CSS的加载会在HTML解析到CSS的标签时开始,所以CSS的标签要尽量靠前。 但是,CSS链接下面不能有任何的JS标签(包括很简单的内联JS),否则会阻塞HTML的解析。 如果必须要在头部增加内联脚本,一定要放在CSS标签之前。
将DOM Processing平均值基线远远降到 1s 以下
The text was updated successfully, but these errors were encountered:
No branches or pull requests
一般来说HTML在开始接收到返回数据的时候就开始解析HTML并构建DOM树(详见: how brower work )。如果没有JS(JavaScript)阻塞的话一般会相继完成。
通常情况下,上面代码的link部分和script部分如果单独出现,都不会阻塞页面的解析:
然而,当这两部分同时出现的时候,问题就来了。
通常情况下,CSS不会阻塞HTML的解析,但如果CSS后面有JS,则会阻塞JS的执行直到CSS加载完成(即便JS是内联的脚本),从而间接阻塞HTML的解析。
优化
一个小小的内联JS放错位置也会让性能下降很多。
CSS的加载会在HTML解析到CSS的标签时开始,所以CSS的标签要尽量靠前。
但是,CSS链接下面不能有任何的JS标签(包括很简单的内联JS),否则会阻塞HTML的解析。
如果必须要在头部增加内联脚本,一定要放在CSS标签之前。
结果对照
将DOM Processing平均值基线远远降到 1s 以下
The text was updated successfully, but these errors were encountered: