所以,我必须在主页
中加载它们jQuery.js
jQueryMobile.css
jQueryMobile.js
mainScript.js
但是如果用户从其他任何地方进入,我需要动态加载它们。所以我有
scriptCheck.js
if scripts not present
//create array of elements containing above files
scriptsArray.forEach do |script|
head.append(script)
end forEach
end if
我的问题是,有没有办法让加载同步操作,等待加载每个脚本并在加载下一个脚本之前进行解释?
答案 0 :(得分:1)
您可以将每个脚本元素的onload处理程序设置为加载下一个脚本的函数:
var counter = 0
scriptpaths = [...]
function loadnextscript(){
var el = document.createElement("script");
el.onload = loadnextscript;
el.src = scriptpaths[counter];
document.head.appendChild(el);
counter++;
}
然后您可以使用以下方法调用此方法:
if (scriptsnotpresent) {
loadnextscript();
}
答案 1 :(得分:-1)
检查出来:https://stackoverflow.com/a/2880147/1391624
它使用createXMLHTTPObject()打开并发送同步请求。