Sto cercando un modo pulito per caricare in modo asincrono i seguenti tipi di file javascript: un file js "core" (hmm, chiamiamolo, oh non lo so , "jquery!" haha), x numero di file js che dipendono dal file js "principale" in fase di caricamento, e numero y di altri file js non correlati. Ho un paio di idee su come procedere, ma non sono sicuro di quale sia il modo migliore. Mi piacerebbe evitare di caricare script nel corpo del documento.caricamento js file e altri file js dipendenti in modo asincrono
Così, per esempio, voglio i seguenti 4 file JavaScript per caricare in modo asincrono, nome appropriato:
/js/my-contact-page-js-functions.js // unrelated/independent script
/js/jquery-1.3.2.min.js // the "core" script
/js/jquery.color.min.js // dependent on jquery being loaded
http://thirdparty.com/js/third-party-tracking-script.js // another unrelated/independent script
Ma questo non funziona perché non è garantito che jQuery è caricato prima che il plug-in di colore ...
(function() {
var a=[
'/js/my-contact-page-functions.js',
'/js/jquery-1.4.2.min.js', '/js/jquery.color.js',
'http://cdn.thirdparty.com/third-party-tracking-script.js',
],
d=document,
h=d.getElementsByTagName('head')[0],
s,
i,
l=a.length;
for(i=0;i<l;i++){
s=d.createElement('script');
s.type='text/javascript';
s.async=true;
s.src=a[i];
h.appendChild(s);
}
})();
È praticamente impossibile caricare jquery e il plug-in in modo asincrono? (Poiché il plug-color richiede che jQuery sia caricato per primo.)
Il primo metodo che stavo considerando è quello di combinare lo script del plug-in del colore con il sorgente jQuery in un unico file.
Poi un'altra idea che avevo stava caricando il plugin colore in questo modo:
$(window).ready(function() {
$.getScript("/js/jquery.color.js");
});
Qualcuno ha qualche idea su come devi andare su questo? Grazie!
LAB sembra non essere più mantenuto, quindi ho cambiato la risposta accettata alla tua, dal momento che hai citato RequireJS. (Probabilmente una scelta migliore al giorno d'oggi!) Speriamo che questa sia la "giusta" cosa da fare per le domande più vecchie qui su SO. – taber