-
用户访问页面链接,浏览器向服务器请求html文件并下载
-
从上到下的顺序下载文件,主线程同步下载<head>标签中的文件,然后多线程异步解析各文件
-
<head>标签中的文件下载并解析完成,才会开始执行body里面的代码来渲染页面,js要使用浏览器的js引擎来解析,所以如果<head>标签中有过大的js,解析过慢,会阻塞页面渲染,出现白屏。过大的css也会阻塞
-
所以将js文件的加载放在body的后面,即</body>标签的前面,防止阻塞页面渲染,或者dom元素未加载完成
-
css文件之所以要放在<head>标签里,是因为要保证页面刚渲染出来的时候,样式已经是准备好的,不然会闪现乱格式
网友评论