Se abbiamo la necessità di inserire javascript da domini esterni al nostro sito può essere importante caricarli in modalità asincrona per evitare possibili SPOF [1].
Ecco 5 modi diversi di caricare un javascript in modalità asincrona, con o senza callback. Alcuni
Modalità in javascript senza l’ausilio di jQuery
Modalità in javascript senza l'ausilio di jQuery - versione 2
A differenza del codice precedente ci troviamo davanti uno snippet un po' più verboso ma con la possibilità di essere riutilizzato più volte nella stessa pagina attraverso la chiamata:
async_load_js('http://www.dominio.it/codice.js', function(){ miacallback() });
Modalità in javascript senza l'ausilio di jQuery - versione 3
Modalità che sfrutta jQuery
L'istruzione riferita ad "ajaxSetup" è necessaria perchè di default jQuery imposta il javascript come non cachabile e quindi viene aggiunto un parametro random che invaliderà ogni forma di cache. Se non vi piace questo codice potere usare il prossimo codice, ovvero la modalità estesa della funzione "getScript".
Modalità che sfrutta jQuery - versione 2
Importante notare che, in base alle proprie preferenze, è possibile stampare il javascript asincrono in diversi punti della pagina usando questi diversi parametri:
- document.body.appendChild(js);
- var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(js, s);
- var s = document.getElementsByTagName('head')[0]; s.parentNode.insertBefore(js, s);