2009-09-03 9 views

Respuesta

14

Esta es una manera:

function loadDaFun() { 
    var script = document.createElement('script'); 
    script.src = '/path/to/your/script.js'; 
    script.type = 'text/javascript'; 
    var head = document.getElementsByTagName("head")[0]; 
    head.appendChild(script); 
} 
+0

Muchas gracias! Gran ayuda – Ronal

+0

De nada. – seth

+0

tipo no es necesario, no hace ninguna diferencia (por cierto) –

-2

conseguir con AJAX y luego eval() el código.

+0

eval() tiene problemas de seguridad – Evorlor

11

respuesta @seth El 's es completamente correcto, pero no es necesario para salir de la script elemento insertado en el DOM, se puede quitar justo después de que se carga, y también es posible que desee saber cuando la guión insertada está listo para usar, por ejemplo, usted puede:

function loadScript(url, completeCallback) { 
    var script = document.createElement('script'), done = false, 
     head = document.getElementsByTagName("head")[0]; 
    script.src = url; 
    script.onload = script.onreadystatechange = function(){ 
    if (!done && (!this.readyState || 
      this.readyState == "loaded" || this.readyState == "complete")) { 
     done = true; 
     completeCallback(); 

     // IE memory leak 
     script.onload = script.onreadystatechange = null; 
     head.removeChild(script); 
    } 
    }; 
    head.appendChild(script); 
} 

uso:

loadScript("http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js", 
      function() { alert('jQuery has been loaded.'); }); 
Cuestiones relacionadas