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.
- atributo
async
: puede agregar el atributoasync
a su etiqueta de script comoconsecuencia, 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.
- atributo de
defer
: puede agregar el atributo dea 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
.
- 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.
- 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 paradefer
atributo, supongo.
// su archivo script.js tiene este aspecto
window.onload = function () {
var el = document.getElementById (“type1”);
console.log (el);
};
- ¿Es un CMS bueno para construir un sitio web extenso?
- Estoy aprendiendo Ruby on Rails con miras a un cambio de carrera en el desarrollo web. Soy reacio a cambiar a una Mac, pero me han dicho que es la mejor opción para el desarrollo. ¿Es esto cierto?
- Mi restaurante está fallando y mi dependencia en la agregación de sitios web es muy alta. ¿Hay alguna solución para esto, porque quiero crear mis propios clientes leales?
- Quiero aprender completamente el desarrollo web. ¿Dónde puedo encontrar una lista de libros que me pueden ayudar a aprenderlo por completo? Me alegrará saber que hay algunas series de libros de clase mundial para el desarrollo web.
- Si quiero construir el nuevo Facebook, ¿qué debo hacer?