在浏览器中预取资源
资源预取是一种很好的技术,可以提高网站的感知页面速度,提供更好的用户体验,而且只需要很少的工作量。预取是在浏览器空闲时发生的,意味着它不会减慢初始加载速度,而是利用空闲时间来获取和缓存可能在以后有用的资源。
要预取资源,可以在文档的<head>
或<body>
中添加一个带有rel="prefetch"
属性的<link>
标签:
<link rel="prefetch" href="./cool_page/data.json">
这样做的作用是提示浏览器我们将需要这个资源,所以它应该在空闲时下载并存储在缓存中。请注意,预取更多是对浏览器的提示,而不是其他任何东西,所以在某些情况下,浏览器可能会忽略它(由于其他浏览器下载、用户设置、连接问题等)。
预取资源可以增加页面或经常请求的资源的感知加载时间,同时对于诸如Web字体之类的资源,还可以提供重大的性能优势,因为它们会在浏览器下载、解析和样式化DOM之后下载。目前,资源预取仅支持http://
和https://
链接,但同源限制不适用于资源预取,因此如果需要,可以下载外部资源。
类似地,您可以使用rel="preload"
属性预加载资源,这不是提示,而是浏览器必须遵循的指示:
<link rel="preload" href="./important_page/data.json">
与预取资源相比,预加载资源的唯一缺点是,根据您阅读本文的时间,浏览器支持可能较低。