Después de mucha investigación, resuelvo este problema con una pista de la respuesta ofir_aghai sobre el evento de carga de script.
Básicamente, necesitamos usar el $
código jQuery, pero no podemos usarlo hasta que se cargue jQuery. Solía document.createElement()
agregar un script para jQuery, pero el problema es que lleva tiempo cargar mientras se usa la siguiente declaración en JavaScript$
falla . Entonces, usé la siguiente solución.
myscript.js tiene un código que usa jQuery
main.js se usa para cargar archivos jquery.min.js y myscript.js asegurándose de que jQuery esté cargado.
código main.js
window.load = loadJQueryFile();
var heads = document.getElementsByTagName('head');
function loadJQueryFile(){
var jqueryScript=document.createElement('script');
jqueryScript.setAttribute("type","text/javascript");
jqueryScript.setAttribute("src", "/js/jquery.min.js");
jqueryScript.onreadystatechange = handler;
jqueryScript.onload = handler;
heads[0].appendChild(jqueryScript);
}
function handler(){
var myScriptFile=document.createElement('script');
myScriptFile.setAttribute("type","text/javascript");
myScriptFile.setAttribute("src", "myscript.js");
heads[0].appendChild(myScriptFile);
}
De esta manera funcionó. El uso loadJQueryFile()
de myscript.js no funcionó. Inmediatamente va a la siguiente declaración que utiliza $
.