L'unico problema che potresti riscontrare, ad esempio:
Codice:
$import('file_che_ci_impiega_tanto_a_caricare.js');
funzione_definita_nel_file_qui_sopra(); // potrà risultare non definità dato che il file qui sopra sta ancora caricando.
Se questa funzione la userai soltanto per importare codici javascript puoi usare:
Codice:
function $import(url, cache, cb) {
var script = document.createElement('script');
script.src = cache !== false ? url : url.lastIndexOf('?') > -1 ? url + '\&' + new Date.getTime() : url + '?' + new Date().getTime();
script.type = 'text/javascript';
if(typeof cb === 'function') {
script.onreadystatechange = function () {
if(this.readyState === 'complete')
(cb)();
}
script.onload = cb;
}
document.getElementsByTagName('head').item(0).appendChild(script);
}
Questa funzione, richiede 3 parametri:
- L'url dello script
- Se usare la cache o meno, boolean ( true => usa la cache, false => non usa la cache)
- Callback, funzione da richiamare quando il file è stato caricato
E rifancedo l'esempio scritto poco sopra:
Codice:
$import('file_che_ci_impiega_tanto_a_caricare.js', true, function() {
funzione_file(); // funzionerà dato che questo codice verrà eseguito soltanto al caricamento dello script
});