2015-04-06 70 views

回答

9

截至2016年,rel属性的subresource值为deprecated and removed

它已被Preload API替代,意思是应该做rel=preload来达到类似的效果。引用的规格

preload关键字上的连接元件提供了一个说明性取 原语发起的早期提取和分离 资源执行获取。

这样,preload关键字用作低级原语,使 应用构建定制资源加载和执行行为 而无需来自用户代理隐藏资源和招致延迟 资源获取处罚。

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


下面是写于2015年,为后人原来的答案,这说明当时的有效subresource关键字。


rel=subresource链接就是所谓的链接预取,当浏览器尝试真实需要之前获取的资源,所以实际上需要稍后当它可以从缓存中加载该资源更快。

Link prefetching是下载或预取资源的浏览器机制。

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

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

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

link rel=subresourcelink rel=prefetch提供了具有不同语义的新链接关系类型。

虽然rel=prefetch提供要在随后的页面使用的资源的低优先级下载,rel=subresource使当前页面内资源的初装。由于资源旨在用于当前页面,因此必须以高优先级加载资源才能有用。

+1

谢谢你的回答。但是我对第二部分仍有疑问。如果我使用** link rel =“subresource”**,而不是更常见的**链接rel =“Styelsheet”**,那么这将有助于比较快速地呈现JavaScript文件吗? – user3456791

+0

不是必需的,它在某些情况下可能会比较慢,因为它会在加载样式表之前等待浏览器处于空闲状态。至于使用'subresource'值,在大多数情况下,如果页面加载时需要资源,那么在大多数情况下加载样式表的方式与样式表的加载方式相同,所以它通常不会更快。当您想要加载下一个访问过的页面所需的资源时,Prefecthing最有用,或者稍后通过触发事件等方式在同一页面中进行加载。 – adeneo

+0

这使得它更加清晰。谢谢你.. – user3456791

10

铬是要删除<link rel=subresource>,因为它是没有用的,专有的,和马车:https://crbug.com/581840

使用<link rel=preload>代替。