HTML预取资源

时间:2015-04-23 00:39:19

标签: html5 algorithm cross-browser httprequest prefetch

这可能是一个愚蠢的问题,但我想问一下预取资源如js脚本和图像是否会减慢页面加载。

例如:如果我有一个包含许多链接的页面:

<link rel="prefetch" href="http://example.com/images.png" />

下载它们是否会包含在页面加载时间中或者预取(使用空闲浏览器时间)不是页面加载时间统计信息的一部分?

它是否真的在空闲时间的后台发生,还是只是页面加载的另一部分?

感谢

1 个答案:

答案 0 :(得分:2)

这取决于浏览器:

  

Android浏览器,Firefox和Firefox移动在window.onload之后启动预取请求,但Chrome和Opera立即启动它们可能会从当前页面所需的更重要资源中窃取TCP连接。

从IE11开始,各个网络请求按类型划分优先级,通常按此顺序排列。

  1. 网页的根本文件

  2. CSS样式表

  3. WOFF字体

  4. 脚本库

  5. 使用onload事件处理程序加载的图像

  6. 同步XMLHttpRequest(XHR)请求

  7. 异步脚本请求(例如indexedDB,Web Workers,File API等)

  8. 异步XHR请求

  9. HTML5音频和视频

  10. 使用对象元素

  11. 加载的Microsoft ActiveX和其他控件
  12. 延期JavaScript(defer =&#34; true&#34;)

  13. 背景也很重要:

      

    IE11还根据请求的上下文优先处理请求:

    1. 网页在前台标签中发出的请求

    2. 前景标签中的iframe元素中加载的内容所做的请求

    3. 网页在后台标签中发出的请求

    4. 预呈现内容的请求

    5. <强>参考