`

[转]浏览器加载网页的顺序

 
阅读更多

一、浏览器加载和渲染html的顺序

 

1. 用户输入网址(假设是个 HTML 页面,并且是第一次访问),浏览器向服务器发出请求,服务器返回 HTML 文件;

2. 浏览器开始载入 HTML 代码,发现 <head> 标签内有一个 <link> 标签引用外部 CSS 文件;

3. 浏览器又发出 CSS 文件的请求,服务器返回这个 CSS 文件;

4. 浏览器继续载入 HTML 中 <body> 部分的代码,并且 CSS 文件已经拿到手了,可以开始渲染页面了;

5. 浏览器在代码中发现一个 <img> 标签引用了一张图片,向服务器发出请求。此时浏览器不会等到图片下载完,而是继续渲染后面的代码;

6. 服务器返回图片文件,由于图片占用了一定面积,影响了后面段落的排布,因此浏览器需要回过头来重新渲染这部分代码;

7. 浏览器发现了一个包含一行 JavaScript 代码的 <script> 标签,赶快运行它;

8. JavaScript 脚本执行了这条语句,它命令浏览器隐藏掉代码中的某个 <div>(style.display=”none”)。杯具啊,突然就少了这么一个元素,浏览器不得不重新渲染这部分代码;

9. 终于等到了 </html> 的到来,浏览器泪流满面……

10. 等等,还没完,用户点了一下界面中的“换肤”按钮,JavaScript 让浏览器换了一下 <link> 标签的 CSS 路径;

11. 浏览器召集了在座的各位 <div><span><ul><li> 们,“大伙儿收拾收拾行李,咱得重新来过……”,浏览器向服务器请求了新的CSS文件,重新渲染页面。 浏览器每天就这么来来回回跑着,要知道不同的人写出来的 HTML 和 CSS 代码质量参差不齐,说不定哪天跑着跑着就挂掉了。好在这个世界还有这么一群人——页面重构工程师,平时挺不起眼,也就帮视觉设计师们切切图啊改改字,其实背地里还是干了不少实事的。

 

各个步骤的加载渲染时间,可以通过各个浏览器的插件跟踪到,例如IE的 httpwatch、火狐的firebug等等。

 

二、如何加快HTML页面加载速度

 

1. 页面减肥

a. 页面的肥瘦是影响加载速度最重要的因素。

b. 删除不必要的空格、注释。

c. 将inline的script和css移到外部文件。

d. 可以使用HTML Tidy来给HTML减肥,还可以使用一些压缩工具来给JavaScript减肥。

 

2. 减少文件数量

a. 减少页面上引用的文件数量可以减少HTTP连接数。

b. 许多JavaScript、CSS文件可以合并最好合并,人家财帮子都把自己的JavaScript. functions和Prototype.js合并到一个base.js文件里去了。

 

3. 减少域名查询

a. DNS查询和解析域名也是消耗时间的,所以要减少对外部JavaScript、CSS、图片等资源的引用,不同域名的使用越少越好。

 

4. 缓存重用数据

a. 对重复使用的数据进行缓存。

 

5. 优化页面元素加载顺序

a. 首先加载页面最初显示的内容和与之相关的JavaScript和CSS,然后加载HTML相关的东西,像什么不是最初显示相关的图片、flash、视频等很肥的资源就最后加载。

 

6. 减少inline JavaScript的数量

a. 浏览器parser会假设inline JavaScript会改变页面结构,所以使用inline JavaScript开销较大。

b. 不要使用document.write()这种输出内容的方法,使用现代W3C DOM方法来为现代浏览器处理页面内容。

 

7. 使用现代CSS和合法的标签

a. 使用现代CSS来减少标签和图像,例如使用现代CSS+文字完全可以替代一些只有文字的图片。

b. 使用合法的标签避免浏览器解析HTML时做“error correction”等操作,还可以被HTML Tidy来给HTML减肥。

 

8. Chunk your content

a. 不要使用嵌套table,而使用非嵌套table或者div。将基于大块嵌套的table的layout分解成多个小table,这样就不需要等到整个页面(或

大table)内容全部加载完才显示。

 

9. 指定图像和table的大小

a. 如果浏览器可以立即决定图像或table的大小,那么它就可以马上显示页面而不要重新做一些布局安排的工作。

b. 这不仅加快了页面的显示,也预防了页面完成加载后布局的一些不当的改变。

c. image使用height和width。

分享到:
评论

相关推荐

    探析浏览器执行JavaScript脚本加载与代码执行顺序

    浏览器执行JavaScript脚本加载与代码执行顺序是网页开发中至关重要的一环,因为它直接影响到网页的渲染和用户体验。本文主要探讨了两种关键的概念:JavaScript脚本的阻塞性和执行顺序。 1. JavaScript脚本的阻塞性...

    网页按顺序加载 最后加载js广告

    通过优化网页的加载顺序,特别是将非关键的JavaScript广告放在最后加载,我们可以显著提高网页的首屏加载速度,从而提升用户体验。同时,对于网页性能的优化,还可以考虑使用CDN加速资源获取,压缩代码减少传输量,...

    测试浏览器运行速度

    当遇到"ASP.NET开发的网页在浏览器中运行速度特别慢"的问题时,这可能是由多种因素引起的,包括但不限于网络延迟、服务器响应时间、JavaScript执行效率、CSS和HTML的加载顺序等。为了找出问题的症结所在,我们可以...

    详解关于html,css,js三者的加载顺序问题

    它们的加载顺序直接影响了网页的渲染速度和用户体验。本文将详细探讨这三种资源的加载顺序,以及如何处理它们之间的相互依赖和潜在冲突。 首先,我们要明确一点,浏览器在渲染网页时是按照DOM(文档对象模型)的...

    html中js代码的加载顺序

    在HTML文档中,JavaScript代码的加载顺序是网页解析过程中至关重要的一部分。这关乎到脚本何时执行、页面元素的渲染以及整个用户体验。理解这一过程对于优化网页性能和编写高效的JavaScript至关重要。 首先,我们要...

    页面加载顺序,loading巧妙解决

    页面加载顺序对于用户体验至关重要,因为它直接影响到用户首次看到网页内容的速度和形式。在网页开发中,浏览器遵循一定的规则来解析HTML、CSS和JavaScript文件,从而构建出完整的页面。本篇文章将详细探讨页面加载...

    兼顾多个浏览器的网页模块

    同时,要确保脚本在文档加载完成后执行,避免在IE中因文档加载顺序引发的问题。 文件名为"sub"的压缩包可能是项目源代码的一部分,通常包含HTML、CSS、JavaScript等文件。解压后,我们可以深入研究这些文件,查看...

    浏览器加载、渲染和解析过程黑箱简析

    在理解浏览器加载、渲染和解析过程时,首先我们要知道这是一个复杂且高度优化的过程,涉及到了多个步骤和机制。浏览器的主要任务是将HTML、CSS和JavaScript等资源转化为用户可见的网页。下面我们将详细探讨这些过程...

    浏览器的加载与页面性能优化

    JavaScript和CSS的加载顺序直接影响页面的渲染流程。通常,JS文件应放置在页面底部,以避免阻塞页面的其他元素加载;而CSS则应优先加载,确保页面的基本布局和样式能够快速呈现。同时,使用`defer`和`async`属性可以...

    html加载顺序.zip

    HTML加载顺序是Web前端开发中的一个关键概念,它关乎到网页元素何时呈现、何时执行以及如何交互。了解这个过程对于优化网页性能、提高用户体验至关重要。本文将深入探讨HTML的加载流程,包括解析、渲染和执行的各个...

    浏览器加载很慢,怎么变快.docx

    本文主要讨论了如何提高浏览器加载速度以及优化电脑性能的一些技巧。以下是一些关键点的详细说明: 1. 减少开机磁盘扫描等待时间:通过在命令行输入`chkntfs /t:0`,可以将磁盘扫描等待时间设置为0,从而加快电脑...

    行业分类-设备装置-一种进行网页加载的方法、装置和浏览器.zip

    6. **并行加载与优先级排序**:合理安排资源的加载顺序,优先加载重要元素。 7. **浏览器渲染机制**:理解DOM树构建、CSSOM构建、合成与绘制的过程,优化渲染性能。 8. **JavaScript异步处理**:避免阻塞主线程,...

    监听浏览器滚动条 回调加载

    综上所述,“监听浏览器滚动条 回调加载”是一种有效提升网页性能和用户体验的技术,它涉及到滚动事件监听、异步数据加载、请求顺序控制以及性能优化等多个方面。通过熟练掌握这些技巧,开发者可以构建出更加流畅、...

    js在html中的加载执行顺序.docx

    1. **加载顺序**:JavaScript代码在HTML文档中的加载与执行顺序遵循其在文档中的出现顺序。无论是内联在`&lt;script&gt;`标签内的代码还是通过`src`属性引用的外部文件,都会按照它们在HTML文档中的位置顺序进行加载和执行...

    讨论html与javascript在浏览器中的加载顺序问题

    主要是对html与javascript在浏览器中的加载顺序问题进行了详细的分析介绍,需要的朋友可以过来参考下,希望对大家有所帮助

    动态加载外部JS文件

    动态加载外部JS文件是网页开发中的一个重要技术,它允许网页在需要时按需加载JavaScript资源,从而提高页面的加载速度,优化用户体验,并有效地管理复杂的项目结构。以下将详细阐述动态加载的原理、方法以及相关实践...

    图像顺序加载

    在网页设计和开发中,"图像顺序加载"是一种优化用户体验的技术。它主要处理网页中大量图片的加载问题,特别是对于那些包含多张图片的页面,如摄影网站或电商产品展示页。传统方式下,所有图片会在页面加载时一次性...

    CSS 的加载及加载顺序简介

    CSS的加载与加载顺序是前端开发中的重要话题,因为它直接影响到网页的渲染速度和用户体验。首先,我们了解一个基本的加载原则:CSS样式通常被放置在HTML文档的部分,以便在页面开始渲染时能立即应用样式,避免出现...

    图片预加载特效

    在网页设计中,当用户打开一个页面时,浏览器会按照HTML代码中的顺序逐行解析,遇到图片标签(`&lt;img&gt;`)时才会开始加载图片。如果图片较大或者网络环境不佳,用户可能会看到图片逐步加载的过程,甚至出现白屏现象。...

Global site tag (gtag.js) - Google Analytics