code artist performance

Carga asíncrona de archivos JavaScript

16 de Octubre del 2007 Escrito por Alex Barros

Me gustaría recalcar esta técnica, ya que según mi opinión no está valorada lo suficiente.

Se trata de la carga asíncrona de archivos Javascript, es decir, no cargar un archivo JavaScript hasta que lo necesite.

¿Cómo hago esto?

Es muy sencillo, una simple función puede facilitarte increíblemente el trabajo. Es la siguiente:

  1. function include(path){
  2.         var j = document.createElement("script");
  3.         j.type = "text/javascript";
  4.         j.src = path;
  5.         document.body.appendChild(j);
  6. }

Como puede apreciarse, la función crea “al vuelo” un elemento tipo script, y lo introduce en el cuerpo del documento. De esta forma no tenemos que cargar muchas librerías, o grandes archivos, hasta que no los necesitemos.

  1. if(programa == ‘test’) {
  2.         include(‘test.js’);
  3. } else {
  4.         include(‘default.js’);
  5. }

Es posible que incluso con el evento onLoad tengamos el control del instante en que se ha cargado, pero esto se atiene más a compatibilidades entre navegadores.

Este tema lo he rescatado, porque la versión 2.1 de Imaset va a tener una fuerte carga de Javascript, lo que hará que el manejo sea más rápido y llevadero, y evitará envíos AJAX innecesarios. Pero para esto debo cargar el gran fichero JS, únicamente cuando se solicite usar el plugin. De ahí su gran potencial.

Categorias: Código, JavaScript |

Aunque la mona se vista de seda, siempre escribe su comentario

Hay 2 comentarios, pero nos falta el tuyo

gafeman Ha dicho:

es muy buena tecnica ya que te permite cargar javascript de otros dominios sin que salten conflictos de seguridad como pasa con AJAX

la unica pega que he encontrado ha sido que no funciona para cargar la API de google maps
te redirige a una pagina en blanco :(

Alex Barros Ha dicho:

Ups… lo harán a propósito los de google?

del.icio.us meneame.net RSS

Buscar:

GeoGPS Descubre y comparte rutas por todo el mundo, tomadas con GPS. Ver más Imaset Edita tus imágenes de Wordpress con este sencillo plugin. Ver más

Mis fotos de Flickr

Entradas Recientes

Meta:

Respeta el copyleft