Necesito cargar algunos archivos js dinámicamente y secuencialmente (es decir, el segundo script se carga después de completar la carga del primero, tercero después del segundo y así sucesivamente).mejor forma de script dinámico cargando
Pregunta: ¿cómo detectar cuándo se ha cargado un script? He tenido problemas con el evento de carga: no se dispara en IE8. Después de leer this, traté de suscribirse a onreadystatechange y escribió código muy feo para cargar un script:
function loadScript(url, callback) {
var isLoaded = false;
var script = document.createElement('script');
script.onreadystatechange = function() {
if ((script.readyState == 'complete' || script.readyState == 'loaded') && !isLoaded) {
if (callback) callback();
}
};
script.setAttribute('type', 'text/javascript');
script.setAttribute('src', url);
document.head.appendChild(script);
};
puede sugerir una solución navegadores mejor sin esos trucos?
UPD: Gracias por responder. ¿Qué debo hacer si también necesito cargar jquery.js (por ejemplo, el cliente tiene una versión anterior) :)?
En cuanto a su actualización: ¿por qué no incluir la biblioteca para cargar sus scripts (por ejemplo, jQuery) como cualquier otro archivo JavaScript? No veo una manera fácil ni la necesidad de agregar dinámicamente la biblioteca que va a usar para cargar scripts dinámicamente. – Preli
@Preli, se integrará en otros sitios con un script y una etiqueta div. – 2xMax