In un’altra domanda, StackOverflow ha suggerito che è imansible garantire l’ordine in cui un browser elabora i tag , indipendentemente dalla loro posizione in
o
(vedere i commenti):
Caricamento degli script fuori servizio in Chrome
La risposta in alto suggerisce di utilizzare un “DOM-loaded” in puro javascript per garantire che tutte le dipendenze siano caricate, quindi eseguendo codice specifico per la pagina.
Questo mi ha fatto chiedere se è sicuro usare la funzione $ raccomandata da jQuery come sostituto per il puro JS-DOM caricato:
// Shorthand for $( document ).ready() $(function() { console.log( "ready!" ); });
Src: http://learn.jquery.com/using-jquery-core/document-ready/
Come posso garantire che $ sarà definito da jQuery?
EDIT: sono stati richiesti esempi di fallimento ipotetico. Ecco uno con lo esterno in
:
Example 1 $(function(){ alert("Loaded."); });
E uno con lo esterno in
…
Example 1 $(function(){ alert("Loaded."); });
In base al caricamento degli script fuori servizio in Chrome , uno di questi potrebbe non riuscire.
Questa domanda è basata su una premessa difettosa. La domanda di riferimento, caricamento degli script fuori servizio in Chrome , era per un’applicazione che utilizza TurboLink, che trasforma in modo efficace un sito statico in un’app a singola pagina. Di conseguenza, i miei tag sono stati inseriti dynamicmente e non c'era alcuna garanzia che sarebbero stati eseguiti in ordine.
Puoi controllare ripetutamente se jQuery è caricato finché non lo è, a quel punto esegui del codice.