Joh*_*isz 16 ajax html5 prefetch
正如大多数人所知,HTML5引入了一种称为链接预取的标准化浏览器机制,如果浏览器确定没有网络活动,则允许在后台预加载选择URL的内容.通过在头部添加以下内容来使用它:
<link rel="prefetch" href="http://www.example.com/">
Run Code Online (Sandbox Code Playgroud)
我很好奇这个机制是否也能可靠地用于XMLHttpRequest - 从某种意义上说,如果我指定一个链接预取,然后在同一页面上的某个时间启动一个AJAX请求,那么XHR是否是一个HTTP字节范围请求,或要求整个页面,有效地忽略部分预加载的页面?
用英语:AJAX请求也会受益于预加载或部分预加载的内容吗?
排序答案是。
只要您执行 GET 请求(或 HEAD 请求),XHR 就会使用从预取中下载的数据。
如果在 XHR 时预取文件仍在下载,则下载将采用标准优先级,并且 XHR 将在下载完成时返回(情况并非总是如此)
您可以(至少)在 Crome 开发人员工具的“网络”选项卡上观察所有这些
第一个 zip 来自预取,第二个来自 XHR 请求,绿色是等待,蓝色是下载。
您实际上可以看到 XHR 等待预取结束