Aplazar

Comparar comportamientos

AtributoDescargarEjecuciónAnálisis HTMLRiesgo principal
NingunoBloquesInmediatoPausadoRenderizado inicial lento
AsíncronoParaleloLo antes posiblePausado al descargarloCondiciones de carrera
AplazarParaleloDespués de HTMLContinúaFuncionalidad retrasada

Orden de ejecución: asíncrono, aplazado y ambos

Comprender el orden de ejecución de los scripts con diferentes atributos es crucial para gestionar las dependencias y garantizar la funcionalidad adecuada. Así es como funciona:

  1. Scripts regulares (sin async ni aplazamiento):

  2. Scripts asíncronos:

  3. Aplazar guiones:

  4. Scripts con async y diferimiento:

Ejemplo de orden de ejecución:

Posible orden de ejecución:

  1. 1.js (análisis de bloques)
  2. 3.js o 2.js (lo que se descargue primero)
  3. 2.js o 3.js (lo que se descargue en segundo lugar)
  4. 4.js
  5. 5.js

Tenga en cuenta que 2 y 3 podrían ejecutarse en cualquier orden o incluso antes de 1 si 1.js tarda más en descargarse.

Mejores prácticas

  1. Utilice async para scripts independientes como análisis.
  2. Utilice aplazar para secuencias de comandos que dependen de DOM u otras secuencias de comandos.
  3. Coloque los scripts en con async o posponga para comenzar a descargar antes.
  4. Para guiones críticos, considere los guiones en línea en el .

Soporte del navegador

Tanto async como aplazar son ampliamente compatibles en los navegadores modernos. Para navegadores más antiguos, considere usar un cargador de secuencias de comandos o colocar secuencias de comandos al final del .

","image":"http://www.luping.net/uploads/20241009/1728469445670659c5d48f7.jpg","datePublished":"2024-11-08T07:51:11+08:00","dateModified":"2024-11-08T07:51:11+08:00","author":{"@type":"Person","name":"luping.net","url":"https://www.luping.net/articlelist/0_1.html"}}
"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > Dominar las etiquetas de secuencias de comandos: uso de Async y Defer para un control preciso de las secuencias de comandos

Dominar las etiquetas de secuencias de comandos: uso de Async y Defer para un control preciso de las secuencias de comandos

Publicado el 2024-11-08
Navegar:356

Mastering Script Tags: Using Async and Defer for Precise Script Control

En el mundo del desarrollo web, optimizar los tiempos de carga de las páginas es crucial. Dos poderosos atributos de la etiqueta

Conceptos básicos: cómo se cargan los scripts

De forma predeterminada, cuando un navegador encuentra una etiqueta

  1. Pausa el análisis de HTML
  2. Descarga el script
  3. Ejecuta el script
  4. Reanuda el análisis de HTML

Este proceso puede ralentizar la representación de páginas, especialmente para scripts grandes o conexiones lentas. Además, puede generar errores si el script se ejecuta antes de que ciertos elementos HTML estén completamente cargados, lo que suele ocurrir si el script no se coloca correctamente en el documento.

Async y Defer: un arma de doble filo

asíncrono

  • Qué hace: Descarga el script de forma asincrónica mientras continúa el análisis de HTML.
  • Cuando se ejecuta: Tan pronto como se descarga, se pausa el análisis de HTML.
  • Cuando se usa: Scripts independientes que no dependen de otros scripts o contenido DOM.
  • Advertencia: Puede ejecutarse fuera de orden, lo que podría romper las dependencias.

Aplazar

  • Qué hace: Descarga el script mientras continúa el análisis de HTML.
  • Cuando se ejecuta: Después de que se complete el análisis de HTML, pero antes del evento DOMContentLoaded.
  • Cuándo se usa: Scripts que dependen del contenido DOM o deben ejecutarse en un orden específico.
  • Advertencia: Puede retrasar la ejecución de funciones críticas.

Comparar comportamientos

Atributo Descargar Ejecución Análisis HTML Riesgo principal
Ninguno Bloques Inmediato Pausado Renderizado inicial lento
Asíncrono Paralelo Lo antes posible Pausado al descargarlo Condiciones de carrera
Aplazar Paralelo Después de HTML Continúa Funcionalidad retrasada

Orden de ejecución: asíncrono, aplazado y ambos

Comprender el orden de ejecución de los scripts con diferentes atributos es crucial para gestionar las dependencias y garantizar la funcionalidad adecuada. Así es como funciona:

  1. Scripts regulares (sin async ni aplazamiento):

    • Ejecutar en el orden en que aparecen en el documento.
    • Bloquear el análisis de HTML hasta que se descarguen y ejecuten.
  2. Scripts asíncronos:

    • Descargar en paralelo y ejecutar tan pronto como estén disponibles.
    • No hay orden de ejecución garantizado; se ejecutan tan pronto como se descargan.
    • Puede ejecutarse antes de que el DOM esté completamente cargado.
  3. Aplazar guiones:

    • Descargar en paralelo pero ejecutar solo después de que se complete el análisis HTML.
    • Ejecutar en el orden en que aparecen en el documento.
    • Ejecutar antes del evento DOMContentLoaded.
  4. Scripts con async y diferimiento:

    • El atributo async tiene prioridad en los navegadores modernos.
    • En navegadores más antiguos que no admiten asíncrono, recurren al comportamiento diferido.

Ejemplo de orden de ejecución:

Posible orden de ejecución:

  1. 1.js (análisis de bloques)
  2. 3.js o 2.js (lo que se descargue primero)
  3. 2.js o 3.js (lo que se descargue en segundo lugar)
  4. 4.js
  5. 5.js

Tenga en cuenta que 2 y 3 podrían ejecutarse en cualquier orden o incluso antes de 1 si 1.js tarda más en descargarse.

Mejores prácticas

  1. Utilice async para scripts independientes como análisis.
  2. Utilice aplazar para secuencias de comandos que dependen de DOM u otras secuencias de comandos.
  3. Coloque los scripts en con async o posponga para comenzar a descargar antes.
  4. Para guiones críticos, considere los guiones en línea en el .

Soporte del navegador

Tanto async como aplazar son ampliamente compatibles en los navegadores modernos. Para navegadores más antiguos, considere usar un cargador de secuencias de comandos o colocar secuencias de comandos al final del .

Declaración de liberación Este artículo se reproduce en: https://dev.to/umairian/mastering-script-tags-using-async-and-defer-for-precise-script-control-d9n?1 Si hay alguna infracción, comuníquese con Study_golang @163.com eliminar
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3