从输入 URL 到页面加载显示完成的过程 (2)

 user agent : 代表浏览器内核,不特指哪个浏览器

浏览器内核   厂商前缀   代表浏览器   内核背景  
Trident   -ms-   IE浏览器系列   该内核程序在1997年的IE4中首次被采用,是微软在Mosaic代码的基础之上修改而来的,并沿用到IE11,也被普遍称作”IE内核”。Trident实际上是一款开放的内核,其接口内核设计的相当成熟,因此才有许多采用IE内核而非IE的浏览器(壳浏览器)涌现。   
Gecko   -moz-   Firefox    Netscape6开始采用的内核,后来的Mozilla FireFox(火狐浏览器)也采用了该内核,Gecko的特点是代码完全公开  
Webkit   -webkit-   Safari   Safari内核,Chrome内核原型,开源,包含了来自KDE项目和苹果公司的一些组件,主要用于Mac OS系统,它的特点在于源码解构清晰、渲染速度极快,缺点是网页代码的兼容性不高,导致一些编写不标准的网页无法正常显示  
Blink   -webkit-   Chrome、opera等除IE、Firefox、Safari之外的几乎所有浏览器(几乎所有国产双内核浏览器(Trident/Blink)如360、猎豹、qq、百度等)   Blink是一个由Google和Opera Software开发的浏览器排版引擎,是基于Webkit内核的子项目  
Presto   -o-   Opera前内核[现已废弃]    Opera12.17及更早版本曾经采用的内核,现已停止开发并废弃  

其实浏览器拿到资源数据后,便开始浏览器渲染引擎的基本渲染流程

 

从输入 URL 到页面加载显示完成的过程

渲染引擎开始解析HTML文档,并把标签转化成内容树中的DOM节点。同时它也开始解析样式数据,外链的css文件以及style标签内的样式。所有这些样式数据以及HTML中的可见性指令都是用来创建另一棵树--render 树。

现在页面就呈现在我们面前了。。。

我看到有其他关于这个问题的解释,也挺完善的,截个图补充补充。。。

从输入 URL 到页面加载显示完成的过程

从输入 URL 到页面加载显示完成的过程

 

 

扩展:因为有这么个过程,所以我们就可以在不同时期干不同事情。页面加载完成有两种事件:

从输入 URL 到页面加载显示完成的过程

 

 

执行顺序

ready,表示文档结构(DOM结构)已经加载完成(不包含图片等非文字媒体文件),

onload,指示页面包含图片等文件在内的所有元素都加载完成

$(function(){ // do something }); // 其实这个就是jQuery ready()的简写,他等价于: $(document).ready(function(){ //do something }) // 或者如下的写法,因为jQuery 的默认参数是:“document”; $().ready(function(){ //do something })

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zzxzjg.html