document.ready()
le richiamate vengono richiamate nell'ordine in cui sono state registrate. Se si registra prima il callback di prova, verrà chiamato per primo.
Anche se il codice di test in realtà non ha bisogno di manipolare il DOM, è possibile essere in grado di eseguirlo mentre il codice viene analizzato e non attendere fino a quando il DOM non è pronto, prima che vengano richiamati gli altri callback document.ready()
. Oppure, potresti eseguire immediatamente parte del tuo codice di test e rinviare solo la parte che utilizza il DOM fino a document.ready()
.
Un'altra idea è (a scopo di test solo) è possibile eseguire con una versione leggermente modificata di jQuery che ha aggiunto un flag per document.ready()
che quando passò e impostare a true
indicato per chiamare tale funzione prima o si potrebbe aggiungere un nuovo metodo document.readyFirst()
questo chiamerebbe prima la tua funzione. Ciò comporterebbe modifiche minori al codice di elaborazione document.ready()
in jQuery.
Il blocco del codice di errore è veramente * necessario * per attendere che il DOM sia pronto? –
@KevinB Ottimo punto! Potrebbe anche valere la pena di non aspettare ... – msanford
@KevinB Non ho molta familiarità con JS. Se inserissi il codice all'esterno di qualsiasi blocco, sarebbe garantito che fosse eseguito prima che fosse eseguito qualsiasi altro codice? –