代码之家  ›  专栏  ›  技术社区  ›  leonheess

“script”和“link as=”script“标记之间的区别

  •  1
  • leonheess  · 技术社区  · 6 年前

    除了加载脚本的标准方法之外:

    <script src="js/script.js"></script>
    

    我见过有人这样做:

    <link href="js/script.js" as="script"> 
    

    有什么区别吗?


    注:有一个类似的 What's the difference between using link and script tag to reference JavaScript source? 提问 <link href="~/Scripts/jquery-1.4.1.js" type="text/javascript" /> ,这是不同的。

    1 回复  |  直到 6 年前
        1
  •  4
  •   T.J. Crowder    6 年前

    如果那样的话 link 标签上有 rel="preload" (或 rel="modulepreload" )在它上,它将指示一个预加载请求,该请求将预加载脚本,但不运行脚本。当然了, script 加载并运行脚本。但是没有 rel ,那个 链接 无效且没有任何有用的效果(至少在规范方面)。

    如果你抬头看 link 在说明书里,你会看到 as 列为:

    作为 预加载请求的潜在目的地(用于 rel=“预加载” rel=“模块扩展” )

    以下链接指向 as 属性,它说:

    这个 作为 属性指定由 href 属性。它是枚举属性。每个可能的目标都是此属性的关键字,映射到同名的状态。必须在上指定属性 链接 具有 雷尔 包含 preload 关键字。可以指定在 链接 具有 雷尔 包含 modulepreload 关键字;在这种情况下,它必须具有一个类似脚本的目标值。对于其他 链接 元素,不能指定它。