John Resig, nos muestra una técnica con la que podremos reutilizar los tags <script />
para cargar ficheros JS y además ejecutar código en el mismo tag.
Método tradicional
<script type="text/javascript" src="fichero.js" ></script>
<script type="text/javascript"> funcion_de_fichero("Hola");</script>
Actualmente el sistema usado es el de usar un tag <script />
para cargar el fichero JS que necesitamos con el código que necesite la página y posteriormente usarlo en otro tag <script />
independiente.
Alternativa
John nos propone combinar ambos para conseguir hacer, más semántico el código y además conseguir ahorrarnos tener que volver a definir un tag <script />
, a mi parecer innecesario.
<script type="text/javascript" src="fichero.js" >
funcion_de_fichero("Hola");
</script>
Como podemos ver, queda mucho más elegante, semántico y encima fácil de entender ya que podemos relacionar la función al fichero sabiendo el src
del tag en el que está siendo usada.
La mágia
Para hacer posible esto, evidentemente necesitamos tirar de código e implementar la solución nosotros mismo. Los navegadores actuales no permiten este tipo de implementación por lo que es necesario añadir 3 líneas al fichero que carguemos en el src de nuestro tag <script />
var scripts = document.getElementsByTagName("script");
eval( scripts[ scripts.length - 1 ].innerHTML );
El codigo anterior, deberemos insertarlo al final del fichero que indiquemos en el src
del tag. Su misión es buscar todos los tags <script />
y evaluar el contenido del último detectado.
Simplemente genial, sería interesante disponer de esto a nivel nativo.
5 comentarios, 2 referencias
+
#