视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
浏览器与Node的事件循环(EventLoop)之间的区别总结 浏览器输入url到发起http请求的具体过程介绍 浏览器的进程与线程的介绍 浏览器缓存机制的深入解析(图文) 浏览器事件循环的深入了解(代码示例) 浏览器与NodeJS的EventLoop异同以及部分机制 浏览器互相跳转并传递参数(附代码) 新手必看的js实现异步方法 新手入门如何学习vue 新手必看的Ajax技术组成与核心原理分析 新手必学的Ajax总结 新手如何通过Vue.js+Node.js打造个人博客 浏览器的多线程机制详解 浏览器访问路径不提示下载而显示新页面应该如何解决 浏览器html代码快速预览小工具 浏览器文件分段断点上传 新手学习vue详解 浏览器不兼容我写的代码怎么办 浏览器变动时进行自适应代码分享 浏览器调试动态js脚本的方法图解教程 浏览器缓存策略的详细介绍(图文) 脚本是什么 alert是什么意思 新手学习PHP的一些基础知识分享 新手配置 PHP 调试环境(IIS+PHP+MYSQL) 浏览器兼容解决FF/IE6/IE7背景专用CSSHACK_经验交流 史上最强大的40多个纯CSS绘制的图形 浏览器Firefox与IE在CSS样式表中的差异 浏览器默认样式及css初始化 新手必看的css命名规则 浏览器CSSHack收集 浏览器实现移动端高性能css3动画 沙盘Sandboxie 史上最全前端面试题(含答案)-1565783227 浏览器兼容性常见-地球小子 浏览器内部工作原理-jerrylsxu 虎扯:纯css3各方向小三角的制作原理分析-小老虎的牙 浏览器hack总结详细的浏览器兼容性解决方法 新手,新写的INPUT函数的VALUE值显示不了。_html/css_WEB-ITnose 浏览器的工作原理:新式网络浏览器幕后揭秘_html/css_WEB-ITnose
浏览器解析渲染HTML文档的过程详解(图文)
2020-11-27 19:26:58 责编:小采
文档

浏览器的并发请求数目限制是针对同一域名的。因此可以使用 CDN 加速技术来提高用户访问网站的响应速度,这样使用了 CDN 的资源加载不会占用当前域名下的并发连接数,从而减少阻塞的时间。

网页性能

了解 HTML 文档的解析和渲染的过程对于分析网页性能有着重要意义,它可以帮助我们找到影响网页性能的关键因素。例如,我们知道 JS 外部脚本的执行会阻塞文档的解析,那么重量级的第三方插件则会影响首页加载的速度,如果因此影响到了用户体验,我们就需要考虑这个第三方插件的使用成本是不是太高了,能否使用其他轻量级的插件进行替代,或者只使用其中一部分模块。

以 Datatables 为例:

上图是一个项目页面的 Network 截图,红色框中的部分出现了约 700ms 左右的空白,我们需要知道为什么页面的加载会出现这样的情况,这段空白时间浏览器在干什么?

我们分析 Timeline 图,看看浏览器在这段时间的具体信息,如下:

通过 Timeline 图我们可以看到,在 250ms~900ms 时间区间内,浏览器在执行 datatables.min.js 脚本代码,这个脚本的执行阻塞了文档的解析,耗时约 700ms,对应了 Network 图中的空白。

我们继续查看页面总的耗时时间,评估 700ms 耗时的影响,如下:

可以看到,页面总的完成耗时为 1.66s,由此可知 datatables.min.js 的执行耗时占了很大比重,应当慎重考虑是否一定要使用这个插件,能否使用其他轻量级的插件进行替代,或者能否精简插件的不必要模块,或者舍弃插件的使用。

参考资料-1
浏览器接收到html代码,可能是一份完整的文档,也可能是一个chunk,即开始解析。解析过程是先构建dom树,再根据dom树构建渲染树,最后浏览器将渲染树绘制到页面上。
构建dom树的过程即根据html代码自上而下进行构建,当遇到script文件加载/执行会阻塞后面dom树的构建(javascript可能会改变dom树),而遇到css文件则会阻塞渲染树的构建,即dom树依然继续构建(除非遇到script标签并且css文件依旧未加载完成),但不会渲染绘制到页面上。而无论哪个阻塞,该加载的文件还是会加载,例如html文档中的其他css/js/图片文件。
另外javascript被加载后就会被执行,执行的过程也阻塞树的构建。是执行完了才解析其他内容,而不是执行完了才加载其他内容。

作者:加冰
链接:https://www.zhihu.com/questio...

参考资料-2
首先,开源浏览器一般以8k每块下载html页面。
然后解析页面生成DOM树,遇到css标签或JS脚本标签就新起线程去下载他们,并继续构建DOM。
下载完后解析CSS为CSS规则树,浏览器结合CSS规则树和DOM树生成Render Tree。
注意:构建CSS Object Model(CSSOM)会阻塞JavaScript的执行。JavaScript的执行也会阻塞DOM的构建。
JavaScript下载后可以通过DOM API修改DOM,通过CSSOM API修改样式作用域Render Tree。
每次修改会造成Render Tree的重新布局和重绘。只要修改DOM或修改了元素的形状或大小,就会触发Reflow,单纯修改元素的颜色只需Repaint一下(调用操作系统Native GUI的API绘制)。

作者:陈金
链接:https://www.zhihu.com/questio...

本篇文章到这里就已经全部结束了,更多其他精彩内容可以关注PHP中文网的JavaScript视频教程栏目!

下载本文
显示全文
专题苹果笔记本截屏的快捷键是什么苹果笔记本截屏的快捷键是什么专题iphone照片永久删除怎么恢复iphone照片永久删除怎么恢复专题废手机怎样提炼黄金废手机怎样提炼黄金专题手机卡没信号怎么回事手机卡没信号怎么回事专题电脑启动不了反复启动电脑启动不了反复启动专题iphone视频怎么转音频iphone视频怎么转音频专题qq个人文件夹中的文件被占用暂时无法登录qq个人文件夹中的文件被占用暂时无法登录专题word表格每页固定表头word表格每页固定表头专题注册微信怎么跳过辅助注册微信怎么跳过辅助专题微信收藏占用手机存储空间吗微信收藏占用手机存储空间吗专题无手机号怎么注册qq无手机号怎么注册qq专题橡胶刺鼻气味如何去除橡胶刺鼻气味如何去除专题家里的蟑螂是怎么来的家里的蟑螂是怎么来的专题怎么赶走黄鼠狼妙招怎么赶走黄鼠狼妙招专题蟑螂怎么来的蟑螂怎么来的专题相互宝怎么取消相互宝怎么取消专题相互保怎么退出相互保怎么退出专题雪是怎么形成的雪是怎么形成的专题蟑螂是怎么进入家里的蟑螂是怎么进入家里的专题洁厕灵蓝泡泡怎么用洁厕灵蓝泡泡怎么用专题如何判断面粉变质如何判断面粉变质专题房间里有老鼠用什么方法可以解决房间里有老鼠用什么方法可以解决专题家庭野生菌冷冻保存技巧家庭野生菌冷冻保存技巧专题竹荪煮多长时间熟竹荪煮多长时间熟专题老鼠胶怎么洗掉老鼠胶怎么洗掉专题怎么杀蟑螂怎么杀蟑螂专题航班号怎么看航班号怎么看专题花雕酒怎么喝花雕酒怎么喝专题板栗壳怎么好剥板栗壳怎么好剥专题烤红薯没有锡纸怎么办烤红薯没有锡纸怎么办专题预览pdf文件 前端专题前端文件预览功能专题web实现文件预览专题web预览文件专题web文件预览专题web中预览文件专题pdf.js预览文件流专题前端实现文件预览专题html5可视化布局工具专题可视化布局html5工具专题web流程图插件专题前端文件流预览专题web cad 预览专题前端预览文件流专题文件流在前端预览专题html 可视化 编辑工具专题页面布局生成专题小程序页面预览专题html页面转为pdf专题html5编辑器中文版专题