Ejecutar los script con la página cargada

Problema:

Evitar que un script se ejecute antes que el navegador termine de cargar la página web.

Cuando un script se ejecuta y necesita acceder al DOM es necesario que la página se halla cargado totalmente.

Si el script accede a un elemento que aún no está en la ventana del navegador provocará un error.

Solución

La solución más simple es colocar los sripts al final de la página, justa antes de </body>

Si bien es cierto que todas las normas dicen que los scrpts deben colocarse en la sección head, lo más habitual es que los lnk a los archivos de script se encuentren al final de la página

Esto nos asegura que todos los elementos del documento están presentes cuando se carga el archivo de scripts y se ejecutan estos.

Hay más formas de asegurarse que los elementos de la eb están dispnibles pero este es el más sencillo.

Ejemplo

El ejemplo casi no es necesario.

Se trata simplemente de colocar los scripts antes de </body>. En este caso se trata de cargar el archivo main.js

<body>

<div>elementos de la páigna wbe</div>

<script src="main.js">

</body>