2012-06-26 19 views
8

Mam problemy z ładowaniem jQuery za pomocą Javascript. Muszę załadować go przy pomocy Javascript, ponieważ istnieją warunki, które znam tylko po stronie klienta. Skomentowany kod ma zainicjować skrypty, ale nie mam z nimi szczęścia.Ładuj jQuery dynamicznie

var script_tag = document.createElement('script'); 
script_tag.setAttribute("type","text/javascript"); 
script_tag.setAttribute("src","http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js") 
//script_tag.onload = main; // Run main() once jQuery has loaded 
//script_tag.onreadystatechange = function() { // Same thing but for IE 
    //if (this.readyState == 'complete' || this.readyState == 'loaded') main(); 
//} 
document.getElementsByTagName("head")[0].appendChild(script_tag); 

http://mybsabusiness.com/samplesites/silver/sbsa01/

Jest to miejsce, że problemy są włączone.

+1

nie masz żadnych błędów? co robi 'main'? – Esailija

+2

Jaki jest dokładnie problem? Ten kod działa doskonale. http://jsfiddle.net/4Euhk/ – sachleen

+0

Pokaż nam też główną funkcję, ten kod działa dla mnie –

Odpowiedz

16

Z jQuerify bookmarlet:

function getScript(url, success) { 
    var script = document.createElement('script'); 
    script.src = url; 
    var head = document.getElementsByTagName('head')[0], 
     done = false; 
    // Attach handlers for all browsers 
    script.onload = script.onreadystatechange = function() { 
     if (!done && (!this.readyState 
      || this.readyState == 'loaded' 
      || this.readyState == 'complete')) { 
     done = true; 
     success(); 
     script.onload = script.onreadystatechange = null; 
     head.removeChild(script); 
     } 
    }; 
    head.appendChild(script); 
} 
getScript('http://code.jquery.com/jquery-latest.min.js',function() { 
    // Yay jQuery is ready \o/ 
});​ 
+0

Po prostu idealne! Dzięki stary –

Powiązane problemy