Berriart Berriart

Desarrollo web con software libre

Javascript onDemand, lo que quiero cuando quiero

Guardar este artículo en Delicious Compartir este artículo en Twitter Compartir este artículo en Facebook

Hoy en día, con todas las funcionalidades que se pueden implementar en una web y teniendo en cuenta el escaso ancho de banda de la mayoría de las conexiones en España, el tiempo de carga de una web es un factor muy importante y por eso se intenta exprimir al máximo el peso de la misma. Hay muchas maneras de hacerlo, pero una muy importante es no cargar javascripts innecesarios y cargarlos solo en el momento adecuado.

Ahora a esto que acabamos de comentar se le llama javascript onDemand, y consiste en no cargar todos los JS al inicio, y llamarlos solo cuando se necesiten. De esta manera la carga inicial de la página en el cliente se puede acelerar bastante, sobre todo ahora que se empiezan a sobrecargar las páginas con AJAX.

Vía Andrés Nieto, que ya a hablado en más de una ocasión sobre éste tema, he encontrado Using.js. Con este script esta tarea se vuelve de lo más sencilla. Eso sí, no nos queda más remedio que incluirlo en todas las páginas, pero no pesa mucho.

Primero habría que decir cuales son los scripts que se pueden necesitar en esa página y asignarle a cada uno un tag identificador de ésta manera:

using.register("jquery", "/scripts/jquery-1.2.3.js"); 

Luego, habría que llamar a cada script cuando se quiera usar, usando el tag identificador:

using("jquery"); // cargamos jQuery
$("a").css("text-decoration", "none");

Pero lo realmente interesante es que podemos llamar al script de forma asíncrona, declarandolo previamente al definir el script:

using.register("jquery", true, "http://host.net/scripts/jquery-1.2.3.js");
using("jquery", function() {
  $("a").css("text-decoration", "none"); //async callback
});  

Por cierto he dejado el Pownce, y ahora voy a microbloggear en Twitter, podéis seguirme aquí. Aprovechando y como nunca lo he dicho, que sepáis que también tengo perfil en Facebook.

Deja un comentario