¿Dónde debo colocar las etiquetas <script> en el marcado HTML?
Al incrustar JavaScript en un documento HTML, ¿cuál es el lugar adecuado para colocar las etiquetas <script>
y el JavaScript incluido? Creo recordar que se supone que no hay que colocarlas en la sección <head>
, pero colocarlas al principio de la sección <body>
también es malo, ya que el JavaScript tendrá que ser analizado antes de que la página se renderice completamente (o algo así). Esto parece dejar el end de la sección <body>
como lugar lógico para las etiquetas <script>
.
Entonces, ¿dónde es el lugar correcto para poner las etiquetas <script>
?
(Esta pregunta hace referencia a esta pregunta, en la que se sugería que las llamadas a las funciones de JavaScript deberían trasladarse de las etiquetas <a>
a las etiquetas <script>
. Estoy utilizando específicamente jQuery, pero también son apropiadas respuestas más generales).
Justo antes de la etiqueta de cierre del cuerpo, como se indica en
http://developer.yahoo.com/performance/rules.html#js_bottom
Si estás usando JQuery entonces pon el javascript donde mejor te parezca y usa
$(document).ready()
para asegurarte de que las cosas se cargan correctamente antes de ejecutar cualquier función.En una nota lateral: Me gusta que todas mis etiquetas de script en la sección `` ya que parece ser el lugar más limpio.
La respuesta convencional (y ampliamente aceptada) es "en la parte inferior", porque entonces todo el DOM se habrá cargado antes de que algo pueda empezar a ejecutarse.
Hay disidentes, por varias razones, empezando por la práctica disponible de comenzar intencionalmente la ejecución con un evento de carga de la página.