Tengo una pregunta relacionada con JavaScript. ¿Qué hace el atributo aplazar / asincrónico cuando se agrega a la etiqueta del script?

En condiciones normales, los scripts insertados en la parte del HTML se invocan inmediatamente después de cargarlos. A veces, las secuencias de comandos comienzan a ejecutar instrucciones relacionadas con DOM incluso antes de que el navegador termine de analizar el HTML y configure la estructura DOM para que no puedan funcionar correctamente. Para evitar que esto suceda, tiene cuatro opciones.

  1. atributo async : puede agregar el atributo async a su etiqueta de script como consecuencia, el script externo se carga de forma asíncrona junto con el DOM. Ni la carga del script bloquea el análisis HTML ni tiene el efecto de una invocación prematura del script. Supongo que esto es lo mejor de ambos mundos.
  2. atributo de defer : puede agregar el atributo de a su etiqueta de secuencia de comandos como consecuencia, la secuencia de comandos externa se carga solo después de analizar el HTML a pesar de estar incluido en la parte superior, en la sección .
  3. Reubicar la etiqueta del script: este es el truco más antiguo para evitar esta situación. En este caso, incluye la etiqueta de secuencia de comandos en la parte inferior de su HTML, preferiblemente justo antes de y se carga e invoca después de analizar el HTML.
  4. En caso de que el archivo de script sea local y no desee usar las opciones dadas anteriormente, otro enfoque sería envolver su script en una función y asignarlo como un controlador al detector de eventos window.onload como se muestra a continuación. Es como una cuña para defer atributo, supongo.

// su archivo script.js tiene este aspecto
window.onload = function () {
var el = document.getElementById (“type1”);
console.log (el);
};

diferir: el navegador diferirá la carga de javascript hasta que se cargue la página. Dado que esta característica aún no ha sido implementada por todos los principales navegadores, excepto por Mozilla Firefox, los autores no deben suponer que la ejecución del script se aplazará.

Prefiero sugerir agregar elementos de script dinámicamente en la carga de la página para diferir la carga de scripts externos.

asíncrono: si es posible, el navegador intentará ejecutar el script de forma asincrónica, es decir, mientras el navegador analiza el código. Solo compatible con HTML5.

Ambos atributos booleanos solo deben usarse con scripts externos.

More Interesting

Estoy desarrollando un sitio web para un cliente. ¿Cómo lo creo sin un dominio?

Desarrollé un marco de JavaScript que creo que es mejor en todos los sentidos, forma y forma que cualquier otro marco existente. ¿Debo cobrar por la licencia?

Aprendí jQuery antes de JS, y ahora soy súper dependiente. ¿Cómo me vuelvo menos dependiente de jQuery y más de JS?

Estoy tratando de construir una página web y he llegado a la parte de elegir un servidor web. Estoy abrumado ahora. ¿Cómo elijo un proveedor de alojamiento web? No lo entiendo

Cómo extraer una tabla de datos en el archivo pivote a CSV, pero el archivo CSV tiene una estructura como la tabla pivote en jQuery

¿Qué idioma puedo aprender para el diseño y desarrollo web, excepto HTML, CSS, JS, JQ y WP?

Sé HTML, CSS, PHP y MYSQL individualmente. Pero el problema es cómo usar estos cuatro juntos. Html y css se pueden usar juntos. Pero, ¿cómo usar php y mysql junto con ellos? No entiendo la implementación.

Acabo de comenzar a aprender HTML, pero ¿cuál es la diferencia entre las etiquetas y ?

Estoy creando un directorio en PHP que puede buscar por ciudad o código postal. ¿Cómo proporciono ciudades cercanas en una búsqueda?

Soy un estudiante de biología del 11º grado en India y quiero pasar a la programación. ¿Cuáles son los problemas que probablemente enfrentaré al conseguir trabajo?

Soy un desarrollador de JavaScript. ¿Cuál podría ser el objetivo de mi vida?

Cómo construir una interfaz para un sitio web estático

Si quiero hacer la misma aplicación web usando ReactJS y AngularJS, ¿cuál será más rápido?

Ahora estoy trabajando como aprendiz en Python y Django. ¿Crees que esta combinación está lista para superar a la pila LAMP en el desarrollo web?

Estoy guardando casillas de verificación en una sola columna en mi base de datos usando implode (). ¿Cómo puedo generar casillas de verificación marcadas para que cada vez que haga clic en el botón Editar las casillas de verificación se puedan ver o editar?