<script>的属性

145 阅读2分钟

<script> 标签主要用于在 HTML 文档中嵌入或引用 JavaScript 代码。随着 HTML5 的发展,<script> 标签支持了一些新的属性,以增强对脚本加载和执行的控制。以下是 <script> 标签的一些常用属性:

  1. async

    • 作用:该属性表示脚本应当异步加载,即脚本的加载不会阻塞页面的构建。脚本会在下载完成后立即执行,但不一定是在其他脚本之后。
    • 适用范围:仅适用于外部脚本(即具有 src 属性的脚本)。
  2. defer

    • 作用:该属性表示脚本应当在文档解析完成后,但在 DOMContentLoaded 事件触发之前执行。所有带有 defer 属性的脚本都会按照它们在文档中的出现顺序执行。
    • 适用范围:同样适用于外部脚本。
  3. src

    • 作用:指定外部 JavaScript 文件的 URL 地址。
    • 适用范围:用于加载外部脚本文件。
  4. type

    • 作用:定义脚本的 MIME 类型。在 HTML5 中,默认值为 "text/javascript",并且通常不需要显式指定。
    • 历史背景:在较早的 HTML 版本中,这通常是必需的,例如 type="text/javascript"。在现代 HTML 中,type 属性也可以用于指定模块脚本,例如 type="module"
  5. charset

    • 作用:定义脚本字符集。尽管这个属性仍然存在,但在大多数情况下,它不是必要的,因为文档的字符集通常已经在 <meta> 标签中定义了。
  6. language

    • 作用:早期 HTML 版本中用于指定脚本语言的属性。在现代 HTML 中,这个属性已经不再推荐使用,因为默认脚本语言是 JavaScript。
  7. nomodule

    • 作用:指定脚本不应在支持 JavaScript 模块的浏览器中执行。这个属性用于向后兼容那些还没有支持模块的环境。
  8. integrity

    • 作用:用于指定一个子资源完整性哈希值,以验证从外部来源加载的脚本的完整性。这是 Subresource Integrity (SRI) 的一部分,用于增加安全性。
  9. crossorigin 或 crossOrigin

    • 作用:定义脚本是否应该使用 CORS(跨源资源共享)来获取外部脚本。这可以用于允许脚本在不同域之间共享数据。

这些属性可以帮助开发者更好地控制脚本的加载和执行方式,从而优化页面性能和用户体验。在实际应用中,根据脚本的需求选择适当的属性是非常重要的。