tutorial started mdn getting español cabeza javascript html

javascript - started - mdn introduction to html



¿<Script> no está en<head> ok? (4)

El mejor lugar para las etiquetas de secuencia de comandos es antes de su etiqueta de cuerpo de cierre.

<html> <head> <title>Example</title> </head> <body> Your Content <script type="text/javascript" src="yourScriptHere.js"></script> <script type="text/javascript">//Inline scripts etc.</script> </body> </html>

Dicho esto, pueden ser otros lugares sin ningún problema; sin embargo, la razón por la que los deseas es que quieras asegurarte de que la página se cargó antes de la ejecución y tampoco quieres detener el progreso de descarga del cliente, lo que los hace esperar en secuencias de comandos grandes.

Hace un tiempo que tengo esta pregunta que me preocupa un poco de lo curioso y pensé pedirle a su experiencia colectiva una respuesta a esta pregunta.

Para profundizar en el título, di que tengo esto:

alert("Some JS outside ");

Fuera de las etiquetas <head></head> de mi archivo HTML. Mi pregunta es si está bien hacer esto o no, y cuánto se usa así.

Mis instintos me dicen que está bien, creo que los navegadores examinan todas las etiquetas HTML para <script> e interpretan cuando lo ven, así que debería estar bien, pero no soy tan bueno con el funcionamiento de los navegadores.

Estoy buscando una respuesta definitiva (o lo más cercana posible a la definitiva) aquí - ¿está bien hacerlo, o no?

EDITAR: Para ahorrarme publicar esto un montón de veces, lo diré una vez aquí. Muchas gracias por toda su gente de entrada. Votos a todos ustedes! Tendré que volver a entrenarme para poner JS en la parte inferior de las páginas; ahora que lo pienso, es obvio que las secuencias de comandos en la parte inferior de la página son mucho mejores que las superiores. Gracias por su ayuda a todos.


Sí, los bloques <script> fuera de <head> están bien.

De hecho, muchos recomiendan colocarlos al final del <body> . Poniéndolos justo antes de </body> , difiere la búsqueda / carga hasta después del contenido de la página ... para acelerar el renderizado.

De la especificación W3C HTML4 :

El elemento SCRIPT coloca una secuencia de comandos dentro de un documento. Este elemento puede aparecer varias veces en HEAD o BODY de un documento HTML.


Sí. Está bien. De hecho, muy a menudo es necesario. En muchos casos, puede tener un javascript de carga larga (leer: gran descarga) que no sea crítico para la página, por lo que desea que el resto del contenido de la página se cargue primero, por lo que coloca el <script> para ese javascript en la parte inferior de la sección <body> .


Una secuencia de comandos en el cuerpo de su documento se ejecutará cuando se encuentre. Si se trata de una función, entonces "ejecutarla" simplemente significa definir la función, es decir, agregarla a la lista de funciones conocidas. Pero si no es una función, si es un bloque de declaraciones independientes, se ejecutarán donde se encuentren.

Por ejemplo, si escribiste:

<html><head>... whatever ...</head> <p>Foo <script> document.write("bar") </script> <p>Plugh </html>

El navegador mostrará:

Foobar Plugh

Esto puede o no ser lo que quieres.