除了标准的脚本加载方法外:
<script src="js/script.js"></script>
我看过人们这样做:<link href="js/script.js" as="script">
有什么区别吗?
注意:还有一个类似的问题“使用链接和脚本标签引用JavaScript源之间有什么区别?”
,但是它是关于<link href="script.js" type="text/javascript" />
的,与本问题不同。除了标准的脚本加载方法外:
<script src="js/script.js"></script>
我看过人们这样做:<link href="js/script.js" as="script">
有什么区别吗?
注意:还有一个类似的问题“使用链接和脚本标签引用JavaScript源之间有什么区别?”
,但是它是关于<link href="script.js" type="text/javascript" />
的,与本问题不同。link
标签上有 rel="preload"
(或者rel="modulepreload"
)的话,它将表示一个预加载请求,该请求会预加载但不运行脚本。相比之下,script
加载并运行脚本。但是没有rel
,那个 link
标签就无效,没有任何有用的效果(至少在规范方面)。如果你在规范中查找 link
,你会看到 as
被列为:
as
- 预加载请求的潜在目标(对于rel="preload"
和rel="modulepreload"
)
跟着链接到 as
属性,它说:
as
属性指定了通过href
属性给定的资源的预加载请求的潜在目标。它是一个枚举属性。每个潜在的目标都是该属性的关键字,映射到相同名称的状态。该属性必须在具有包含preload
关键字的rel
属性的link
元素上指定。它可以在具有包含modulepreload
关键字的rel
属性的link
元素上指定;在这种情况下,它必须具有类似脚本的目标值。对于其他link
元素,不能指定该属性。