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

How to dynamically append JS/CSS files in order

本文关键字:JS CSS 文件 何按 顺序 动态      更新时间:2023-09-26

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

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

我的问题是,是否有一种方法可以使加载成为同步操作,在加载下一个脚本之前等待每个脚本的加载和解释?

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

看看这个:https://stackoverflow.com/a/2880147/1391624

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