Javascript 如何按顺序动态附加JS/CSS文件

Javascript 如何按顺序动态附加JS/CSS文件,javascript,Javascript,所以,我必须在主页上加载这些 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.appe

所以,我必须在主页上加载这些

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
我的问题是,有没有一种方法可以使加载成为一个同步操作,即在加载下一个脚本之前等待每个脚本加载和解释?

请检查以下内容:


它使用createXMLHTTPObject()打开并发送同步请求。

您可以将每个脚本元素的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();
}

原始脚本在哪里打印?似乎是服务器端的工作…是的。您可以将每个脚本元素的onload处理程序设置为加载下一个脚本的函数。是否打印?它们加载在前端,即客户端计算机上。可能的副本如果您觉得某个问题在其他地方得到了充分的回答,请将其标记为副本,或者至少在你的答案的主体中解释问题将如何解决。在这种情况下,你是否建议我应该在我的答案中包含更多的链接解决方案?如果你链接的答案按原样解决了这个问题,而不需要任何更改或详细说明,那么你应该把这个问题标记为那个问题的重复。一旦你有足够的声誉,你可以自己用接近票数来做这件事,但与此同时,你可以把这个问题标记为重复问题。如果链接的答案显示了一种可以重新调整用途以解决此问题的方法,请复制相关部分并详细说明。我看到了我自己答案的标志链接,但没有看到任何其他答案或问题的标志链接。也许我也需要一个更高的声誉来打旗子?也许。让我调查一下。编辑:是的,根据,你需要15个声誉来标记。另外,请注意,您应该将问题标记为重复问题,而不是答案。应该是
el.onload=loadnextscript
而不是
el.onload=loadnextscript()
,对吗?