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

¿Qué tema debo aprender para convertirme en desarrollador web de PHP y adecuado para trabajos?

¿Hay alguna manera de deshabilitar las funciones sleep () y benchmark () en MySQL?

Me gustaría aprender un lenguaje que se compila en Javascript como mi primer lenguaje de programación completo. ¿Cuál debería aprender?

Soy un profesional que trabaja en el campo de TI y me gustaría comenzar un negocio a tiempo parcial como segunda fuente de ingresos. ¿Cuáles son algunas buenas ideas que podría implementar para ganar dinero extra?

¿Qué debo cambiar para mejorar mi sitio web al convertir nuevos clientes (https://maidonthespot.com)?

Cómo construir un sistema de gestión de asistencia usando Python

Cuando tenía 14 años, tomé una clase de HTML. No he usado HTML en más de 10 años. ¿Debo codificar desde cero o usar estos marcos calientes como Foundation?

¿Puedo crear páginas web dinámicas usando solo HTML y CSS?

Si escribo un procedimiento MySQL, ¿cómo lo pruebo sin PHP?

Si me convierto en desarrollador web (freelance), ¿acaso uso WordPress?

Cómo hacer una superposición de carga usando jQuery y CSS que solo se cierra cuando se completa la carga

Si elijo crear el front-end y el back-end de un sitio web y cargué el código al host y quiero actualizar el sitio, ¿qué debo hacer?

Quiero aprender programación, pero odio el desarrollo web. ¿Que puedo hacer?

Sé HTML5, CSS3, JavaScript, jQuery lo suficiente como para hacer un trabajo. Sin embargo, no me considero un experto en estas áreas. ¿Cómo puedo mejorar?

¿Qué idioma debo saber para ser desarrollador web?