经过大量研究,我通过ofir_aghai答案中有关脚本加载事件的提示来解决此问题。
基本上,我们需要使用$
jQuery代码,但是直到加载jQuery才能使用它。我曾经document.createElement()
为jQuery添加脚本,但是问题是加载时花时间,而JavaScript中的下一条语句使用$
失败。因此,我使用了以下解决方案。
myscript.js具有使用jQuery的代码
main.js用于加载jquery.min.js和myscript.js文件,确保已加载jQuery。
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);
}
这样工作。loadJQueryFile()
从myscript.js使用无法正常工作。它立即转到使用的下一条语句$
。