美文网首页
浏览器加载显示html页面内容的顺序

浏览器加载显示html页面内容的顺序

作者: zevei | 来源:发表于2017-03-05 15:55 被阅读0次

1.浏览器请求到HTML代码后,在生成DOM的最开始阶段, 并行发起css、图片、js的请求,无论他们是否在HEAD里。
2.CSS文件下载完成,开始构建CSSOM。
3.所有CSS文件下载完成,CSSOM构建结束后,和 DOM 一起生成 Render Tree。
3.有了Render Tree,浏览器已经能知道网页中有哪些节点、各个节点的CSS定义以及他们的从属关系。下一步操作称之为Layout,顾名思义就是计算出每个节点在屏幕中的位置。
4.Layout后,浏览器已经知道了哪些节点要显示(which nodes are visible)、每个节点的CSS属性是什么(their computed styles)、每个节点在屏幕中的位置是哪里(geometry)。就进入了最后一步:Painting,按照算出来的规则,通过显卡,把内容画到屏幕上。

DOM:Document Object Model,浏览器将HTML解析成树形的数据结构,简称DOM。
CSSOM:CSS Object Model,浏览器将CSS代码解析成树形的数据结构
Render Tree:DOM 和 CSSOM 合并后生成 Render Tree(Render Tree 和DOM一样,以多叉树的形式保存了每个节点的css属性、节点本身属性、以及节点的孩子节点,display:none 的节点不会被加入 Render Tree,而 visibility: hidden 则会,所以,如果某个节点最开始是不显示的,设为 display:none 是更优的。)

注意:

  • <script> 标记会阻塞文档的解析(DOM树的构建)直到脚本执行完,如果脚本是外部的,需等到脚本下载并执行完成才继续往下解析。
  • 外部资源是解析过程中预解析加载的(脚本阻塞了解析,其他线程会解析文档的其余部分,找出并加载),而不是一开始就一起请求的(实际上看起来也是并发请求的,因为请求不相互依赖)

相关文章

  • 浏览器加载显示html页面内容的顺序

    1.浏览器请求到HTML代码后,在生成DOM的最开始阶段, 并行发起css、图片、js的请求,无论他们是否在HEA...

  • javascript性能优化

    优化页面加载时间html标签加载顺序浏览器加载和执行script标签引入的js时,会暂停页面渲染,直到代码加载并执...

  • html、css、js在页面中加载的顺序

    ***先告诉大家页面是自上而下按顺序加载的 link->js->body 页面内容...

  • 白屏和fouc

    浏览器的白屏与无样式内容闪烁(Flash of unstyled content),是由于浏览器加载与显示页面方式...

  • 浏览器加载网页的顺序及其速度优化

    浏览器加载和渲染html的顺序 用户输入网址(假设是个 HTML 页面,并且是第一次访问),浏览器向服务器发出请求...

  • Vue基础3

    截图的显示顺序就是代码的顺序;html页面: js代码:

  • JS基础

    浏览器是如何渲染页面和加载页面 解析HTML以重建DOM树(Parsing HTML to construct t...

  • HTML页面加载顺序,这个过程发生了什么

    看了几篇文章,做个整理笔记: HTML页面加载顺序,这个过程发生了什么 浏览器网络拉取资源是多线程的。但是dom树...

  • HTML页面的加载顺序

    1.首先要了解页面的结构(包含哪些元素?哪些计算机语言能够在页面中运行 ) (1)html不仅可以包含文字,还可以...

  • HTML学习总结

    文档类型声明标签,告诉浏览器这个页面采取html5版本来显示页面。 告诉浏览器,搜...

网友评论

      本文标题:浏览器加载显示html页面内容的顺序

      本文链接:https://www.haomeiwen.com/subject/nocegttx.html