scrollleft设置图片移动 scrollleft
各位小伙伴,今天我们广州蓝景实训部,和大家普及一下前端技术-浏览器渲染流程,希望能帮助大家更深入地了解这方面的知识 。
前言
浏览器的内核是指支持浏览器运行的最核心的程序,分为两个部分的,一是渲染引擎,另一个是JS引擎 。渲染引擎在不同的浏览器中也不是都相同的 。目前市面上常见的浏览器内核可以分为这四种:Trident(IE)、Gecko(火狐)、Blink(Chrome、Opera)、Webkit(Safari) 。这里面大家最耳熟能详的可能就是 Webkit 内核了,Webkit 内核是当下浏览器世界真正的霸主 。
本文我们就以 Webkit 为例,对现代浏览器的渲染过程进行一个深度的剖析 。
页面加载过程
在介绍浏览器渲染过程之前,我们简明扼要介绍下页面的加载过程,有助于更好理解后续渲染过程 。
要点如下:
向浏览器输入网址浏览器根据 DNS 服务器得到域名的 IP 地址向这个 IP 的机器发送 HTTP 请求服务器收到、处理并返回 HTTP 请求浏览器接收到服务器返回的内容例如在浏览器输入https://www.baidu.com,然后经过 DNS 解析,www.baidu.com对应的 IP 14.215.177.38(不同时间、地点对应的 IP 可能会不同) 。然后浏览器向该 IP 发送 HTTP 请求 。
服务端接收到 HTTP 请求,然后经过计算(向不同的用户推送不同的内容),返回 HTTP 请求,返回的内容如下:
其实就是一堆 HMTL 格式的字符串,因为只有 HTML 格式浏览器才能正确解析,这是 W3C 标准的要求 。接下来就是浏览器的渲染过程 。
浏览器渲染过程
文章插图
文章插图
文章插图
文章插图
文章插图
文章插图
文章插图
文章插图
文章插图
文章插图
文章插图
过“桥”要收费——这个开销本身就是不可忽略的 。我们每操作一次DOM(不管是为了修改还是仅仅为了访问其值),都要过一次“桥” 。过“桥”的次数一多,就会产生比较明显的性能问题 。因此“减少 DOM 操作”的建议,并非空穴来风 。
性能优化策略
基于上面介绍的浏览器渲染原理,DOM 和 CSSOM 结构构建顺序,初始化可以对页面渲染做些优化,提升页面性能 。
【scrollleft设置图片移动 scrollleft】JS优化: <script> 标签加上 defer属性 和 async属性 用于在不阻塞页面文档解析的前提下,控制脚本的下载和执行 。defer属性: 用于开启新的线程下载脚本文件,并使脚本在文档解析完成后执行 。async属性: HTML5新增属性,用于异步下载脚本文件,下载完毕立即解释执行代码 。CSS优化:<link>标签的 rel属性 中的属性值设置为 preload 能够让你在你的HTML页面中可以指明哪些资源是在页面加载完成后即刻需要的,最优的配置加载顺序,提高渲染性能
总结
综上所述,我们得出这样的结论:
浏览器工作流程:构建DOM -> 构建CSSOM -> 构建渲染树 -> 布局 -> 绘制 。CSSOM会阻塞渲染,只有当CSSOM构建完毕后才会进入下一个阶段构建渲染树 。通常情况下DOM和CSSOM是并行构建的,但是当浏览器遇到一个不带defer或async属性的script标签时,DOM构建将暂停,如果此时又恰巧浏览器尚未完成CSSOM的下载和构建,由于JavaScript可以修改CSSOM,所以需要等CSSOM构建完毕后再执行JS,最后才重新DOM构建 。
推荐阅读
- 苹果手机恢复出厂设置后会怎样id 苹果手机恢复出厂设置后会怎样
- 电脑声音打不开怎么解决 电脑声音在哪里设置
- 录音在哪里设置 录音在哪里
- 怎么设置开机启动项 电脑启动项命令
- 图片编辑软件app 图片在线编辑器
- iphonex无线充电怎么设置
- 手机文件夹怎么设置密码 手机文件夹
- ppt上的视频如何自动播放 ppt视频自动播放怎么设置
- 电脑屏幕怎么设置密码锁屏 电脑怎么设密码
- 设置虚拟内存对电脑有什么危害