页面加载时html资产的顺序是什么

时间:2014-11-27 16:38:10

标签: html loading

加载的顺序是什么?

  1. PHP
  2. HTML
  3. java script
  4. CSS
  5. jquery的
  6. AJAX
  7. 请给我一点解释

    谢谢,

1 个答案:

答案 0 :(得分:2)

1)下载HTML。

2)逐步解析HTML。当达到资产请求时,浏览器将尝试下载资产。大多数HTTP服务器和大多数浏览器的默认配置是并行处理两个请求。 IE可以重新配置为并行下载无限数量的资产。 Steve Souders已经能够在IE上并行下载超过100个请求。例外情况是脚本请求阻止IE中的并行资产请求。这就是强烈建议将所有JavaScript放在外部JavaScript文件中并将请求放在HTML中的结束正文标记之前的原因。

3)解析HTML后,将呈现DOM。 CSS几乎与所有用户代理中的DOM呈现并行呈现。因此,强烈建议将所有CSS代码放入文档部分中请求尽可能高的外部CSS文件中。否则,页面将呈现为DOM中CSS请求位置的出现,然后从顶部开始渲染。

4)只有在DOM完全呈现并且页面中所有资产的请求被解析或超时后,JavaScript才会从onload事件中执行。 IE7,我不确定IE8,如果没有从资产请求收到HTTP响应,则不会快速超时资产。这意味着JavaScript内联到页面请求的资产,即写入未包含在函数中的HTML标记的JavaScript,可以阻止onload事件执行数小时。如果页面中存在此类内联代码,并且由于名称空间冲突导致代码崩溃而无法执行,则可以触发此问题。

在上述步骤中,CPU密集程度最高的是解析DOM / CSS。如果您希望更快地处理页面,那么通过消除冗余指令并将CSS指令合并到尽可能少的元素引用中来编写高效的CSS。减少DOM树中的节点数也会产生更快的渲染速度。

请注意,您通过单独的HTTP标头请求从HTML或甚至CSS / JavaScript资产中请求的每个资产。这会消耗带宽并需要按请求处理。如果要尽可能快地加载页面,请减少HTTP请求的数量并减小HTML的大小。通过将页面权重平均为180k,仅使用HTML,您就不会对用户体验任何好处。许多开发人员订阅了一些谬论,即用户在6纳秒内决定页面上的内容质量,然后从他的服务器中清除DNS查询并在不满意的情况下烧毁他的计算机,因此他们提供了最美好的可能页面250k的HTML。保持您的HTML简短和甜蜜,以便用户可以更快地加载您的页面。没有什么能像快速响应的网页那样改善用户体验。

source

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

因此,简而言之:

html将首先加载,因为它会指示浏览器扩展需求:图像,脚本,外部样式表等

之后,加载顺序非常随机 - 大多数浏览器都会启动多个连接,并且无法预测它们返回的顺序。