Middle
¿Cuál es la diferencia entre las etiquetas <script>, <script async> y <script defer>?
sobes.tech AI
Respuesta de la IA
<script> normal: el navegador detiene el análisis del HTML, carga y ejecuta el script, luego continúa el análisis. Bloquea la visualización.
<script async>: el script se carga de forma asíncrona, el análisis del HTML continúa. El script se ejecuta inmediatamente después de la carga, pudiendo interrumpir el análisis del HTML. El orden de ejecución de los scripts no está garantizado.
<script defer>: el script se carga de forma asíncrona, el análisis del HTML continúa. La ejecución del script se aplaza hasta que se complete el análisis del HTML y se construya el árbol DOM. Los scripts se ejecutan en el orden en que aparecen en el HTML.
| Atributo | Análisis de HTML | Carga del script | Ejecución del script | Dependencia del orden |
|---|---|---|---|---|
| Ausente | Se detiene | Bloqueante | Bloqueante | Garantizado |
async |
Continúa | No bloqueante | Puede interrumpir el análisis | No garantizado |
defer |
Continúa | No bloqueante | Después del análisis de HTML | Garantizado |