2009-09-03 14 views

Odpowiedz

14

Jest to jeden sposób:

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

Dziękuję bardzo! Wielka pomoc – Ronal

+0

Nie ma za co. – seth

+0

rodzaj nie jest konieczne, nie ma znaczenia (przy okazji) –

-2

Pobierz go z AJAX, a następnie eval() kod.

+0

eval() ma problemy bezpieczeństwa – Evorlor

11

odebrać @seth „s jest całkowicie w porządku, ale nie trzeba wychodzić z włożoną script elementu na DOM, można ją usunąć tuż po jego załadowaniu, a także może chcesz wiedzieć gdy wstawiony skrypt jest gotowy do użycia, na przykład można:

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); 
} 

Zastosowanie:

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