什么是LINK rel =子资源用于?

use*_*791 11 html javascript html5

什么是link rel ="subresource"用于?如果我使用link rel ="subresource"而不是link rel ="text/javascript"来包含.JS文件会有什么不同?

j.j*_*.j. 12

Chrome将被删除,<link rel=subresource>因为它没有用,专有和错误:https://crbug.com/581840

<link rel=preload>改用.


ade*_*neo 10

截至2016年subresource,该rel属性的值已弃用并已删除.

它已经被Preload API取代,这意味着应该rel=preload有类似的效果.引用规格

preload链接元素上的关键字提供声明性提取原语,该原语启动提前提取并将提取与资源执行分开.

因此,preload关键字用作低级原语,使应用程序能够构建自定义资源加载和执行行为,而不会从用户代理隐藏资源并导致延迟的资源获取惩罚.

例如,应用程序可以使用preload关键字来启动CSS资源的早期,高优先级和非呈现阻塞提取,然后可以在适当的时间由应用程序应用.


以下是2015年为后代撰写的原始答案,其中解释了当时有效的subresource关键字.


rel=subresource链接称为链接预取,浏览器尝试在需要之前获取资源,因此它可以在以后实际需要时从缓存中更快地加载该资源.

链接预取是一种用于下载或预取资源的浏览器机制.

链接预取是一种浏览器机制,它利用浏览器空闲时间来下载或预取用户可能在不久的将来访问的文档.网页向浏览器提供一组预取提示,在浏览器加载完页面后,它开始静默预取指定文档并将其存储在缓存中.当用户访问其中一个预取文档时,可以从浏览器的缓存中快速提供该文档.

服务器向浏览器提供提示,浏览器可以查询其缓存并根据这些提示采取措施.

现有链接预取使用标准HTTP链接头,并为链接关系类型"预取"定义语义.

link rel=subresource提供了一种具有不同语义的新链接关系类型link rel=prefetch.

虽然rel=prefetch提供了在后续页面上使用的资源的低优先级下载,但是rel=subresource 能够在当前页面内提前加载资源.由于资源旨在用于当前页面,因此必须以高优先级加载该资源才能使用.