Sto cercando di convertire il mio app per Asynchronous JavaScript carico con:Come faccio a caricare la pagina javascript dopo il caricamento asincrono del mio file manifesto
<%= javascript_include_tag "application", async: true %>
Il problema è che gli script specifici della pagina vengono eseguiti prima Jquery viene caricato in modo asincrono. Come posso rimandare quelli fino a quando il file manifest di application.js è stato caricato.
Ho provato a racchiudere la mia pagina js in $(window).load(function(){});
ma questo non ha aiutato. Vedo ancora il seguente errore:
Uncaught ReferenceError: $ is not defined
Aggiornamento:
Questo sembra funzionare per me, ma mi piacerebbe che qualcuno per confermare che sia l'approccio corretto:
<%= javascript_include_tag "application", async: true, onload: 'pageScripts()' %>
Poi lo script della pagina come:
<script>
function pageScripts() {
// do something
}
</script>
Perché non scrivere semplicemente il javascript all'interno di un ambito 'window.onload'? – jayant