资源预取技术link rel="prefetch"是一种后台加载机制,仅在浏览器空闲时异步获取后续页面可能需要的资源,其执行受多重条件限制,需要开发者精准掌握触发规则。
该机制与常规预加载存在本质区别,仅当页面完成加载且系统资源空闲时才会触发,开发者需特别注意其非强制执行的特性。
link rel="prefetch" 却看不到 Network 请求未出现预期请求通常源于以下条件未满足:
link rel="prefetch 必须满足的三个硬性条件有效使用必须同时符合:
标准写法示例:<link rel="prefetch" href="/js/detail.chunk.js" as="script">,其中as属性必须准确匹配资源类型。
preload 混用会重复请求二者混合使用时需注意:
构建工具自动生成的prefetch可能造成重复加载,可通过开发者工具Network面板验证请求优先级。
prefetch 不适用该机制仅完成资源下载,不提供数据访问接口:
需要注意的是,prefetch的执行时机完全由浏览器控制,在网络条件差或用户快速操作等场景下可能被跳过,因此仅适合作为性能优化辅助手段。