加载资源的形式
(1)HTML代码
(2)媒体文件,如图片、视频等
(3)js css
加载资源的过程
(1)DNS解析:域名 -> IP地址
(2)浏览器根据IP地址向服务器发起http请求
(3)服务器处理http请求并返回给浏览器
渲染页面的过程
(1)根据HTML代码生成DOM Tree
(2)根据CSS代码生成CSSOM
(3)将DOM Tree和CSSOM整合形成Render Tree
(4)根据Render Tree渲染页面
(5)遇到<script>
则暂停渲染,优先加载并执行JS代码,完成后再继续(JS的代码执行和渲染过程共用一个线程,因为JS代码可能会改变DOM结构)
(6)直至把Render Tree渲染完成
补充:我们最好把link标签放在head里面,把script标签放在body中最后的位置。
window.onload和DOMContentLoaded
window.addEventListener('load',function(){
//页面的全部资源加载完才会执行,包括图片、视频等
})
document.addEventListener('DOMContentLoaded',function(){
//DOM渲染完即可执行,此时图片、视频还可能没有加载完成
})