Al desarrollar en Javascript nos encontramos con algunas limitaciones que nos hacen cargar nuestras páginas con cantidad de código que posiblemente no se termine de usar nunca, pero el lenguaje es muy potente y nos permite corregir estos problemas con funciones nativas, haciendo que nuestras aplicaciones sean lo ligeras que queramos que sean.
PHP dispone de una función muy interesante y que todos hemos usado alguna vez, include()
. Que nos permite añadir un fichero .php a nuestro script en tiempo de ejecución, permitiendonos tener separadas las funcionalidades haciendo un código más manejable y fácil de mantener.
En javascript la ejecución se realiza en el cliente y el añadir ficheros externos es algo que nos puede ayudar a no hacer una carga inicial masiva, sinó a cargar el javascript que necesitamos en el momento en que lo requerimos. Esto es una gran utilidad que hay que usar con pinzas, ya que hemos de tener en cuenta el tiempo de carga del fichero desde nuestro servidor hasta el cliente.
Función include() en Javascript
function include(file_path){
var j = document.createElement("script");
j.type = "text/javascript";
j.src = file_path;
document.body.appendChild(j);
}
De esta forma podemos realizar cargas condicionales, dependiendo de lo que queremos cargar y cuando lo queremos cargar.
if(cargar_ajax == true){
include("ajax.js");
} else if (cargar_efectos == true) {
include("efectos.js");
}
Como podemos ver estamos condicionando el fichero que hemos de cargar, y dentro de él tendremos la funcionalidad necesaria para el evento que hayamos desencadenado.
Function include_once() en Javascript
En PHP disponemos además de una función llamada include_once()
que nos incluye el fichero si aún no ha sido incluido en el script. ¿Por que no disponer de ella en Javascript? 😀
function include_once(file_path){
var sc = document.getElementsByTagName("script");
for (var x in sc)
if (sc[x].src != null && sc[x].src.indexOf(file_path) != -1) return;
include(file_path);
}
De esta forma estamos comprobando todos los elementos <script></script>
de la página en busca de el que queremos incluir, si este no está incluido procederá a incluirlo mediante la función include()
.
17 comentarios, 7 referencias
+
#