(从输入 url 到得到 html 的详细过程)
<p>test</p>
<p><img src="test.png"/></p> // 图片为异步加载
<p>test</p>
window.addEventListener('load', function(){
// 页面的全部资源加载完才会执行,包括图片、视频等
})
document.addEventListener('DOMContentLoaded', function(){
// DOM 渲染完即可执行,此时图片、视频可能还没有加载完
})
-
在渲染DOM前就拿到CSS生成 CSSOM,此时浏览器就知道规则,DOM就可以直接按照CSSOM进行渲染,提升渲染效率,否则会渲染两次。
-
js 执行会阻塞DOM结构渲染,需要把js放到 body 的最下面,在执行时DOM已渲染完成,保证 js 能顺利获取到DOM,也保证了效率。
-
-
浏览器根据 DNS 服务器得到域名的 IP 地址
-
向这个 IP 的计算机发送 http 请求
-
服务器收到、处理并返回 http 请求
-
浏览器得到返回的内容
-
-
window.onload:页面的全部资源加载完才会执行,包括图片、视频等
DOMContentLoaded:DOM 渲染完即可执行,此时图片、视频可能还没有加载完