2009-09-03 15 views
5

Belgeye bir dış Javascript'i nasıl yükleyeceğimi bilmek isterim.Fonksiyon çağrısı üzerine harici Javascript'i yükle

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

cevap

14

Bu bir yoludur.

+0

çok teşekkür ederim! Harika yardım – Ronal

+0

Rica ederim. – seth

+0

türü gerekli değil, fark yaratmaz (bu arada) –

-2

AJAX ile alın ve sonra eval() kodu:

+0

eval() güvenlik sorunları var – Evorlor

11

@seth 'ın cevabı tamamen haklı, ama bunu yüklendiği hemen sonra kaldırabilirsiniz ve ayrıca zaman bilmek isteyebilirsiniz, DOM üzerinde takılı script elemanı terk etmek gerekmez takılı komut yapabilirsiniz, örneğin kullanıma hazır:

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

kullanımı:

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