理解网页的加载和执行顺序
简介
当用户请求网页时,浏览器会经历一个系统的过程来加载并渲染页面。此过程涉及各种资源的顺序下载、解析和执行,包括 HTML、CSS、JavaScript 和图像。
加载和执行顺序
HTML 解析:
- 浏览器加载 HTML 文档并启动解析
- HTML 解析创建文档对象模型 (DOM),它表示页面的结构和内容。
外部资源下载:
- 解析 HTML 时,浏览器会检测 CSS 文件和 JavaScript 等外部资源
- 浏览器并行启动这些资源的异步下载。
内联 CSS 和 JavaScript 执行:
- As HTML 被解析,浏览器遇到内联 CSS 和 JavaScript 块。
- 这些资源被执行
CSS 应用:
- 下载 CSS 文件时,浏览器会解析并将规则应用到 DOM。
- DOM 中的元素具有样式
JavaScript 执行:
- HTML 解析过程中遇到外部 JavaScript 文件就会下载并执行。
- 浏览器会阻止解析,直到 JavaScript 执行完毕完成。
DOM 操作:
- 解析完成后,DOM 就可以进行操作了。
- JavaScript 可以修改DOM,影响布局和内容
文档就绪事件:
- 当 HTML 解析和外部资源加载完成时,会触发文档就绪事件。
- 执行此事件中的 JavaScript 代码来初始化页面元素并处理用户
图像加载
在您的示例中,在 HTML 解析过程中遇到 abc.jpg 时会下载并显示。当 $(document).ready 事件被触发时,kkk.png 被下载并设置为图像源。
浏览器差异
加载和执行顺序可能会因浏览器的不同而略有不同。例如,某些浏览器会限制每个域的同时请求数以优化资源加载。
缓存
缓存机制会影响资源加载。可以从存储而不是服务器加载缓存资源,从而减少下载时间。
并行执行
通常,HTML 解析、JavaScript/DOM 操作和 CSS 应用程序在单独的线程中并行运行。但是,JavaScript 执行可能会阻止 HTML 解析,直到脚本完成。 CSS 规则增量应用,允许异步渲染。
参考文献
- [浏览器工程书籍](https://browser.engineering/)
- [jQuery文档](https://docs.jquery.com/Tutorials:Introducing_$(document).ready())
以上是Web 浏览器如何加载和执行网页资源?的详细内容。更多信息请关注PHP中文网其他相关文章!

CSSanimationsarenotinherentlyhardbutrequirepracticeandunderstandingofCSSpropertiesandtimingfunctions.1)Startwithsimpleanimationslikescalingabuttononhoverusingkeyframes.2)Useeasingfunctionslikecubic-bezierfornaturaleffects,suchasabounceanimation.3)For

@keyframesispopularduetoitsversatoryand and powerincreatingsmoothcssanimations.keytricksinclude:1)definingsmoothtransitionsbetnestates,2)使用AnimatingmatematingmultationmatingMultationPropertiessimultane,3)使用使用4)使用BombingeNtibalibility,4)使用BombingingWithjavofofofofofoffo

CSSCOUNTERSAREDOMANAGEAUTOMANAMBERINGINWEBDESIGNS.1)他们可以使用forterablesofcontents,ListItems,and customnumbering.2)AdvancedsincludenestednumberingSystems.3)挑战挑战InclassINCludeBrowsEccerCerceribaliblesibility andperformiballibility andperformissises.4)创造性

使用滚动阴影,尤其是对于移动设备,是克里斯以前涵盖的一个微妙的UX。杰夫(Geoff)涵盖了一种使用动画限制属性的新方法。这是另一种方式。

文章讨论了CSS FlexBox,这是一种布局方法,用于有效地对齐和分布响应设计中的空间。它说明了FlexBox用法,将其与CSS网格进行了比较,并详细浏览了浏览器支持。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

安全考试浏览器
Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。

ZendStudio 13.5.1 Mac
功能强大的PHP集成开发环境

SecLists
SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。

PhpStorm Mac 版本
最新(2018.2.1 )专业的PHP集成开发工具

MinGW - 适用于 Windows 的极简 GNU
这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。