forked from frankdejonge/Simple-Javascript-Loader
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsjl.min.js
1 lines (1 loc) · 2.52 KB
/
sjl.min.js
1
(function(){function h(a){return c.call(a)==="[object Function]"}function g(a,b){if(!f(a)){return false}for(var c=0;c<a.length;c++){if(a[c]===b){return true}}return false}function f(a){return c.call(a)==="[object Array]"}"use strict";var a=this;var b=a.sjl;var c=Object.prototype.toString;var d=a.document.getElementsByTagName("head")[0];var e=function(){this.stack=1;this.container=[];this.callbacks=[];this.injected=[];this.loaded=[];this.instack=[];this.fired=[]};e.prototype.add=function(a){if(!f(this.container[this.stack])){this.container[this.stack]=[]}if(!f(a)){a=[a]}for(var b=0;b<a.length;b++){if(!g(this.loaded,a[b])&&!g(this.container[this.stack],a[b])){this.container[this.stack].push(a[b]);var c="Sjl-loaded-"+a[b].replace(/[^a-zA-Z0-9]+/g,"-");if(!f(this.instack[c])){this.instack[c]=[]}this.instack[c].push(this.stack)}}return this};e.prototype.load=function(b,c){var e=this.stack;this.loaded[e]=0;if(h(b)){this.callbacks[e]=b}else{this.add(b);this.callbacks[e]=c}if(!f(this.container[e])||this.container[e].length<1){this.fireCallback(e);return}var i=this;var j=function(){if(!this.readyState||this.readyState=="loaded"||this.readyState=="complete"){this.onload=this.onreadystatechange=null;i.loaded[this.className]=true;for(var a=0;a<i.instack[this.className].length;a++){var b=i.instack[this.className][a];if(i.stackLoaded(b)){i.fireCallback(b)}}}};for(var k=0;k<this.container[e].length;k++){var l=this.container[e][k];var m="Sjl-loaded-"+l.replace(/[^a-zA-Z0-9]+/g,"-");if(!g(this.injected,this.container[e][k])){this.injected.push(this.container[e][k]);var n=a.document.createElement("script");n.type="text/javascript";n.className=m;n.src=l;n.onload=n.onreadystatechange=j;d.appendChild(n)}else if(i.loaded[m]==true){if(i.stackLoaded(e)){i.fireCallback(e);return true}}}this.stack++};e.prototype.seq=e.prototype.sequence=function(){var a=Array.prototype.slice.call(arguments);if(a.length>0){var b=Array.prototype.shift.call(a);if(h(b)){b();this.seq.apply(this,a)}else{var c=this;this.load(b,function(){c.seq.apply(c,a)})}}};e.prototype.noConflict=function(){a.Sjl=b;return this};e.prototype.fireCallback=function(a){if(!this.fired[a]&&h(this.callbacks[a])){this.fired[a]=true;this.callbacks[a].call()}};e.prototype.stackLoaded=function(a){for(var b=0;b<this.container[a].length;b++){if(this.loaded["Sjl-loaded-"+this.container[a][b].replace(/[^a-zA-Z0-9]+/g,"-")]!=true){return false}}return true};a.sjl=new e;var i=a.document.getElementsByTagName("script");var j=i[i.length-1],k;if((k=j.dataMain)||(k=j.getAttribute("data-main"))){a.sjl.load(k)}}).call(this)