2012-08-24 10 views
6

El uso de javascript para descargar otro archivo de forma asincrónica JavaScript.¿Cómo comprobar si una secuencia de comandos de forma asíncrona cargado se ha terminado de cargar en javascript

Entiendo que esto se puede hacer insertando una nueva etiqueta de script en la página con el atributo src establecido en la url del archivo.

que también tienen que ejecutar código cuando el guión está terminado la descarga. He estado usando yepnope para esto y que proporcionan "devoluciones de llamada" que se ejecutan cuando el script ha terminado la descarga y ejecución.

¿Cómo se logra esto?

Gracias!

Respuesta

3

mayoría de cargadores de JS hacerlo a través de la inyección de una etiqueta <script> al DOM, y unirse a su evento onload a su función prevista.

yepnope utiliza el mismo enfoque, y puede simplemente observar que desde su source code. La función injectJs crea un elemento DOM utilizando doc.createElement, establece src y otros atributos necesarios utilizando setAttribute, se une al evento onreadystatechange & onload a la devolución de llamada indicada, y, finalmente, se inserta el elemento en el documento.

3

yepnope.injectJs(scriptSource [, callback ] [, elemAttributes ] [, timeout ]); Recta their website: Simplemente ejecute el código que necesita en la devolución de llamada exitosa como tal.

// Example 
yepnope.injectJs("jquery.js", function() { 
    console.log("It is finished loading and I can do whatever I need to here"); 
}, { charset: "utf-8" }, 5000); 
+0

Gracias por su respuesta. El problema es que no puedo usar yepnope para esto. –

+0

@ChrisDutrow entonces ¿por qué etiquetar a esta pregunta con la etiqueta 'yepnope'? – jessegavin

+0

@jessegavin - Lo etiqueté de esa manera porque mencioné el yepnope en la pregunta. –

1

esto se puede hacer usando jQuery, si quieres usarlo, Jquery.getScript()

pago y envío el enlace que da información detallada al respecto.

Cuestiones relacionadas