Skip to content

Instantly share code, notes, and snippets.

@sebworks
Created December 22, 2017 17:25
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save sebworks/fca25b261834c367a39da5b151984961 to your computer and use it in GitHub Desktop.
Save sebworks/fca25b261834c367a39da5b151984961 to your computer and use it in GitHub Desktop.
var scripts = [];
var src;
var script;
var pendingScripts = [];
var firstScript = document.scripts[0];
function stateChange() {
var pendingScript;
while (pendingScripts[0] && pendingScripts[0].readyState == 'loaded') {
pendingScript = pendingScripts.shift();
pendingScript.onreadystatechange = null;
firstScript.parentNode.insertBefore(pendingScript, firstScript);
}
}
while (src = scripts.shift() ) {
if ( 'async' in firstScript ) {
script = document.createElement('script');
script.async = false;
script.src = src;
document.head.appendChild(script);
}
else if ( firstScript.readyState ) {
script = document.createElement('script');
pendingScripts.push(script);
script.onreadystatechange = stateChange;
script.src = src;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment