JSFiddle - React, Tailwind, and code Playground
by BDG
HTML
<pre class="log"></pre>
JavaScript
var logLine = function(comment, element) {
this.count = this.count + 1 || 0;
comment = comment || "undescribed event";
$("pre.log").append(this.count + " - " +comment + "\n");
}
var incScript = {
list : [],//List of scripts
load : function(scriptList, callback) { //Load array of scripts, with callbackoption
var params = {}
callback = callback || (function(){});
var incThis = this;
try {
//Check if this script is already loaded
for (i in incThis.list) {
if (incThis.list[i] === scriptList[0]){
scriptList.shift(); //Remove it from loading queue
}
}
if (scriptList.length === 0) {
callback(params);
return ;
} else {
logLine("\tScript loaded: "+ scriptList[0]);
incThis.list.push(scriptList[0]);
scriptList.shift();
incThis.load(scriptList, callback);
return ;
/*
//jQuery dependant code that replaces above (actually loads scripts)
$.getScript(scriptList[0], function() {
incThis.list.push(scriptList[0]);
scriptList.shift();
incThis.load(scriptList, callback);
return ;
});
*/
}
} catch(e) {
logLine("There was an error loading this page." + e);
return false;
}
}
};
logLine("Loading group A");
logLine("Already Loaded: " + incScript.list.join(", "))
incScript.load(["One.js","Two.js"]);
logLine("-------------");
logLine("Loading group B");
logLine("Already Loaded: " + incScript.list.join(", "))
incScript.load(["One.js"]);
logLine("-------------");
logLine("Loading group C");
logLine("Already Loaded: " + incScript.list.join(", "))
incScript.load(["Three.js"],...