网络优先级

Internet Explorer 11 设置了网络请求的优先级,以便你可以更快地开始使用网页。 开发人员可以影响加载网页资源的顺序。

设置网络请求的优先级

在本文中,你将了解 IE11 如何设置页面加载的优先级以及如何延迟个别资源使其在稍后加载。

虽然某些网页可以使用单个请求加载,但由于页面中的项目,多数网页都要求使用多个请求。 图像、样式表和脚本库通过用于加载元素网页的一个独立请求加载。

网页可以包含许多类别的资源:

  1. 网页的根文档
  2. CSS 样式表
  3. WOFF 字体
  4. 脚本库
  5. 使用 onload 事件处理程序加载的图像
  6. 同步 XMLHttpRequest (XHR) 请求
  7. 异步脚本请求(如 indexedDBWeb Worker文件 API 以及其他内容)
  8. 异步 XHR 请求
  9. HTML5 audiovideo
  10. 使用 object 元素加载的 Microsoft ActiveX 和其他控件
  11. 延迟的 JavaScript (defer="true")

此列表按类型设置每个请求的优先级。从 IE11 开始,按类型设置单个网络请求的优先级,通常采用此顺序。

每个资源可以要求多个网络请求。 在连接管理 (TCP) 层,无论加载资源的类型或其上下文如何,较早版本的 Internet Explorer 均以同样方式对待每个请求。 对背景图像和字体的处理与链接的样式表相同。 来自后台选项卡的请求的处理方式也与前台选项卡的请求的相同。

从 IE11 开始,按类型设置单独网络请求的优先级,通常是按显示的顺序排列。例如,来自网页根文档的请求比延迟的 JavaScript 请求具有更高的优先级。

当挂起请求的数量大于可用连接的数量时,将根据请求的优先级来处理这些挂起请求。 如果可在优化连接和非优化连接之间加以选择,则先为高优先级的请求提供优化连接,然后再为优先级较低的请求提供此类连接。

IE11 还会根据请求的上下文设置请求的优先级。

  1. 由前台选项卡中的网页所做的请求
  2. 由在后台选项卡中的 iframe 元素中加载的内容所做的请求
  3. 由后台选项卡中的网页所做的请求
  4. 针对预呈现内容的请求

根据你的预期情况,相比于后台选项卡的请求,会为前台选项卡发出的请求授予较高的优先级。

延迟资源加载

开发人员可以使用 lazyload 属性延迟单个资源的加载。 这样有助于尽快加载重要内容,然后再加载不太重要的内容。 (当不存在连接竞争或没有高优先级的资源时,则会正常加载低优先级的资源。)这样可以提升用户能够感受到的网页性能,因为用户可以更快地看到内容呈现出来,尤其是对于那些复杂的网页而言。

这些元素支持 lazyload 属性:

lazyload 设置为 "true" 时,需显示元素的连接级别请求将排在高优先级的请求之后进行处理。

下面介绍如何使用 lazyload


<img src="example.jpg" lazyload="1" />

API 参考

lazyload

 

 

显示:
© 2014 Microsoft