JS文件资源提示符
normal
先加载dom元素,在获取js文件,执行,解析。async
边加载dom元素边加载js文件,js文件加载后,不管dom元素是否加载完毕都执行,最后解析。defer
边加载dom元素边加载js文件,js等dom加载完成后后执行,最后解析。
不使用资源提示符,默认就是normal
css资源提示符
用法rel="提示符"
,其实不止css
可以使用,图片字体什么的也都可以,但一般只用于css
。
preload
在dom加载过程中发现了这个提示符时,就直接获取加载css文件prefetch
在dom加载过程中发现这个提示符时,会在浏览器空闲的时候获取加载css文件
这两个都是在dom加载的过程中来缓存css,preload
优先级较高适合着急用的css
。
用法
<!-- 预载 -->
<link rel="preload" href="/css/main.css" as="style">
<!-- 调用 -->
<link rel="stylesheet" href="/css/main.css">
什么类型的内容可以被预加载?
可以预加载多种类型的内容。as 属性可能的值包括:
- audio:音频文件,通常在
<audio>
中使用。 - document:用于嵌入在
<frame>
或<iframe>
中的HTML
文档。 - font:字体文件。
- image:图像文件。
- script:JavaScript 文件。
- style:CSS 样式表。
- worker:JavaScript web worker 或 shared worker。
- video:视频文件,通常在
<video>
中使用。
perload 好用的,还有一个是 dns-prefetch 也好用
dns-prefetch是对站外资源域名提前进行解析的
感觉实用性不太强