Sto pensando di ottenere diversi file JS dal mio server in modo asincrono durante il caricamento della pagina. Sono a conoscenza della funzione JQuery "getScript", ma questo ottiene solo 1 script. C'è un modo per specificare un callback da eseguire quando un batch di script è stato recuperato dal server?modo corretto di ottenere diversi script in modo asincrono utilizzando jQuery con il post-documento-ready richiamata
ho pensato di fare qualcosa di simile:
$.getScript(script1, function() {
$.getScript(script2, function() {
$.getScript(script3, function() {
...
...
});});....});
Ma questo carichi gli script in sequenza, e vorrei le richieste di essere condotti in parallelo.
Come una domanda più generale che sostituisce questa, qual è il modo migliore per caricare N risorse (CSS, immagini, script, ecc.) Specificando in modo asincrono un singolo callback da eseguire quando tutte le risorse sono state caricate?
Aggiornamento: Oltre a questo, ho bisogno che il callback sia eseguito dopo che il documento è pronto (segnalato dall'evento $ (documento) .ready). Qualche modo per raggiungere questo?
Questo può essere semplificato rimuovendo il contatore, usando 'names.pop' (o' names.shift') e controllando se la lunghezza dell'array è 0, invece di tenere traccia del contatore. –
@Ryan: Questo sarà un po 'più semplice, ma (minutamente) più lento. Inoltre, significa che il chiamante non può riutilizzare la matrice. (Che è improbabile in ogni caso) – SLaks
Questo sembra ottimo, buon uso di chiusure :) Sto affrontando un problema in qualche modo correlato. Dovrei essere in grado di determinare quale callback e $ (document) .ready vengono eseguiti per primi. Il fatto è che ho bisogno di eseguire il codice solo quando tutti gli script sono stati caricati (ed eseguiti) e il DOM è stato completamente analizzato. Aggiornerò la domanda per riflettere questo – Diego