var dfLoadStatus = 0;
var dfLoadFiles = [
[
"blabla..." // more libraries jQuery dependant.
]
];
function downloadJSAtOnload() {
if (!dfLoadFiles.length) return;
var dfGroup = dfLoadFiles.shift();
dfLoadStatus = 0;
for (var i = 0; i < dfGroup.length; i++) {
dfLoadStatus++;
var element = document.createElement('script');
element.src = dfGroup[i];
element.onload = element.onreadystatechange = function () {
if (!this.readyState || this.readyState === 'complete') {
dfLoadStatus--;
if (dfLoadStatus === 0) {
//If jQuery is loaded load jQuery depedant scripts
if (dfGroup.length === 1) {
downloadJSAtOnload();
//If all scripts are already loaded,
//launch deferred actions
} else {
performDeferredActions();
}
}
}
};
document.body.appendChild(element);
}
}
if (window.addEventListener) {
window.addEventListener("load", downloadJSAtOnload, false);
} else if (window.attachEvent) {
window.attachEvent("onload", downloadJSAtOnload);
} else {
window.onload = downloadJSAtOnload;
}
function performDeferredActions(){
//This will be executed after all jQuery libs are loaded.