首页 > web前端 > js教程 > 在 HTML 中使用

ffective Ways to Use the <script> HTML 中的标签以实现更好的 Web 开发”/></p>
<p>HTML 文档中 <code><script></code> 标签的放置会显着影响相对于 HTML 内容呈现的 JavaScript 执行时间。  本指南探讨了四种关键方法,详细介绍了它们的执行流程和最佳用例。</p>
<p><strong>1。 <code><script></code> <code><head></code></strong></p> 内的标签
<pre class=<code class=" language-html><head> <script> // JavaScript code here </script> <title>Script in Head</title> </head> <h1>Hello, World!</h1> </p> <p><strong>执行过程:</strong></p> <ol> <li>浏览器从上到下解析 HTML 文档。</li> <li>在 <code><script></code> 中遇到 <code><head></code> 标签时,HTML 渲染会在脚本下载和执行时暂停。</li> <li>脚本执行后,浏览器恢复 HTML 处理。</li> </ol> <p><strong>缺点:</strong></p> <ul> <li>大型或加载缓慢的脚本可能会延迟页面渲染,导致黑屏。</li> <li>尝试在此脚本中操作 DOM 元素可能会因元素尚未加载而失败。</li> </ul> <p><strong>理想用例:</strong></p> <ul> <li>包含不立即需要的功能的脚本,例如分析或配置代码。</li> </ul> <p><strong>2。 <code><script></code> 标签位于 <code><body></code></strong></p> 末尾 <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false"><code class="language-html"><title>Script at Bottom</title> <h1>Hello, World!</h1> <script> // JavaScript code here </script></code>

登录后复制

执行过程:

  1. 浏览器加载并呈现整个 HTML 内容。
  2. <script>末尾的<body>标签在页面渲染后处理并执行。

优点:

  • 确保脚本执行前完成 HTML 加载。
  • 防止渲染延迟,改善用户体验。
  • DOM 元素可以随时进行操作。

缺点:

  • 由于 JavaScript 在完整 HTML 渲染后执行,因此页面加载时间略有增加。

理想用例:

  • 与页面内容交互的脚本(例如,事件侦听器、元素修改)。

3。 <script> 带有 async 属性的标签

<code class="language-html"><head>
  <script async src="script.js"></script>
  <title>Script with Async</title>
</head>
<h1>Hello, World!</h1></code>
登录后复制

执行过程:

  1. 浏览器按顺序加载 HTML。
  2. 遇到 async 脚本时,它会在继续 HTML 加载的同时同时下载该脚本。
  3. 下载后,脚本立即执行,短暂暂停渲染,然后恢复 HTML 加载。

优点:

  • 非阻塞:脚本加载在后台发生,不会延迟页面渲染。
  • 由于并行下载,页面加载速度更快。

缺点:

  • 如果存在多个 async 脚本,脚本可能会以不可预测的顺序执行。
  • 依赖 HTML 结构的脚本可能会过早执行,从而导致错误。

理想用例:

  • 独立脚本,如分析、广告或社交媒体小部件,不依赖于其他脚本或 HTML 元素。

4。 <script> 带有 defer 属性的标签

<code class="language-html"><head>
  <script>
    // JavaScript code here
  </script>
  <title>Script in Head</title>
</head>
<h1>Hello, World!</h1></code>
登录后复制

执行过程:

  1. 浏览器按顺序加载 HTML。
  2. defer 脚本与 HTML 同时下载,但仅在解析整个 HTML 后才执行。
  3. 执行发生在DOMContentLoaded事件之前。

优点:

  • 确保页面加载完成后脚本执行。
  • 如果使用多个 defer 脚本,则保持脚本执行顺序。
  • 适合依赖于完全可用的 DOM 的脚本。

理想用例:

  • 完全加载 DOM 后操作 DOM 的脚本。

比较表

方法 执行时间 块渲染 最佳用例 标题>
Method Execution Time Blocks Rendering Best Use Case
<script> in <head> Before HTML load Yes Configuration, early execution logic
<script> at end of <body> After HTML load No DOM manipulation, event handling
<script async> When script is downloaded No (except during execution) Analytics, ads, independent scripts
<script defer> After HTML parse No DOM-dependent scripts

HTML 加载之前 是 配置、早期执行逻辑 结尾 HTML 加载后 否 DOM操作,事件处理 下载脚本时 否(执行期间除外) 分析、广告、独立脚本 HTML 解析后 否 依赖 DOM 的脚本 表>
  • 结论:最佳实践<script><body>
  • <script async> 末尾使用
  • 用于与页面内容交互并需要完全加载的 DOM 的脚本。
  • <body>
  • 用于独立脚本,例如分析和广告。
  • <head>如果没有使用任何属性,请将脚本放在 async 的底部,以实现页面平滑加载。defer
  • 避免将脚本放置在没有

<script> 中,除非绝对有必要防止渲染阻塞。

掌握标签的使用对于优化Web应用程序至关重要。 在内联、内部、外部、异步或延迟脚本之间进行选择可以增强性能、提高代码可维护性并提供卓越的用户体验。

以上是在 HTML 中使用

作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板