我试图逐步增强PJAX风格的链接。我计划在一些常规预取<link>
s:
<link rel="prefetch" href="next.html"/>
如果浏览器已经下载了next.html
,那么PJAX请求应该只是点击缓存,并且不会造成任何伤害。但是,当然,由于实际获取预取链接完全取决于浏览器,我无法知道它何时会出现。
我讨厌让用户进行双重下载,所以我考虑过关闭<link>
。 But browsers have started preloading/rendering on the <link rel="next"/>
tag too,这使事情变得复杂。
如果XMLHttpRequest命中&#34;在飞行中&#34;下载,我可以期待什么样的浏览器行为?我试图做自己的研究,但它充满了竞争条件和其他肮脏的行为。
答案 0 :(得分:1)
来自MDN FAQ:
如果我在预取某些内容时点击某个链接会怎样?
当用户单击链接或启动任何类型的页面加载时,链接预取将停止,并且将丢弃任何预取提示。如果部分下载了预取文档,则部分文档仍将存储在缓存中,前提是服务器发送了一个&#34; Accept-Ranges:bytes&#34;响应标题。此标头通常由Web服务器在提供静态内容时生成。当用户访问实际的预取文档时,将使用HTTP字节范围请求获取文档的剩余部分。