Carga asíncrona de archivos JavaScript
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:
-
function include(path){
-
var j = document.createElement("script");
-
j.type = "text/javascript";
-
j.src = path;
-
document.body.appendChild(j);
-
}
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.
-
if(programa == ‘test’) {
-
include(‘test.js’);
-
} else {
-
include(‘default.js’);
-
}
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 |



Respeta el copyleft
Octubre
12:31 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
Octubre
13:55 Alex Barros Ha dicho:
Ups… lo harán a propósito los de google?