only.js
Version:
Automatically load and execute selector-based dependencies
1 lines • 6.15 kB
JavaScript
!function(n){"use strict";var t=n.$O,e="js",r="wait",i="text",o="type",c="charset",u="elem",a="head",f="exec",l="push",s=f+"_trigger",d="on",p="load",y=d+p,h="pre"+p,v=d+h,b=p+"ed",m="className",O="doScroll",g="document",w="Element",j=g+w,_="finished",x=_+"_listeners",P="create"+w,T="frame"+w,$="insertBefore",A="charAt",L="call",E=L+"ee",M="splice",S="slice",z="script",B=z+"s",C="console",D="log",R="end",q="setOptions",H="test",N="src",X="real_"+N,k="error",F="toString",G="prototype",U="ready",I=U+"State",J="length",K="querySelector",Q="complete",V=U+"_listeners",W="attributes",Y="Event",Z="attach"+Y,nn="detach"+Y,tn="setAttribute",en=U+"statechange",rn=d+en,on="Listener",cn="add"+Y,un=cn+on,an="remove"+Y+on,fn="DOMContentLoaded",ln=location,sn="useLocalXHR",dn="alwaysPreserveOrder",pn="allowDuplicates",yn="cacheBust",hn="debug",vn="basePath",bn="autoPolyfill",mn=/^[^?#]*\//[f](ln.href)[0],On=/^[\w|\-]+\:\/\/\/?[^\/]+/[f](mn)[0],gn=n[g][a]||n[g].getElementsByTagName(a)[0],wn=n.opera&&"[object Opera]"==Object[G][F][L](n.opera)||"MozAppearance"in n[g][j].style,jn=function(){},_n=jn,xn=n[g][P](z),Pn="boolean"==typeof xn[h],Tn=Pn||xn[I]&&"uninitialized"==xn[I],$n=!Tn&&xn.async===!0,An=!Tn&&!$n&&!wn;n[C]&&n[C][D]&&(n[C][k]||(n[C][k]=n[C][D]),jn=function(t){n[C][D](t)},_n=function(t,e){n[C][k](t,e)});function Ln(n,t){var e=!1,r=n[g],i=r[j],c=r[un],u=c?un:Z,a=c?an:nn,f=c?"":d,l=function(i){i[o]===en&&r[I]!==Q||((i[o]===p?n:r)[a](f+i[o],l,!1),!e&&(e=!0)&&t.call(n,i[o]||i))},s=function(){try{i[O]("left")}catch(n){return void setTimeout(s,50)}l("poll")};if(r[I]===Q)t.call(n,"lazy");else{if(!c&&i[O])try{n[T]||s()}catch(y){}r[u](f+fn,l,!1),r[u](f+en,l,!1),n[u](f+p,l,!1)}}function En(n){return"[object Function]"==Object[G][F][L](n)}function Mn(n){return"[object Array]"==Object[G][F][L](n)}function Sn(n,t){var e=/^\w+\:\/\//;return/^\/\/\/?/[H](n)?n=ln.protocol+n:e[H](n)||"/"==n[A](0)||(n=(t||"")+n),e[H](n)?n:("/"==n[A](0)?On:mn)+n}function zn(n,t){for(var e in n)n.hasOwnProperty(e)&&(t[e]=n[e]);return t}function Bn(n){for(var t=!1,e=0;e<n[B][J];e++)n[B][e][U]&&n[B][e][s]&&(t=!0,n[B][e][s](),n[B][e][s]=null);return t}function Cn(n,t,e,r){n[y]=n[rn]=function(){n[I]&&n[I]!=Q&&n[I]!=b||t[e]||(n[y]=n[rn]=null,r())}}function Dn(n){n[U]=n[_]=!0;for(var t=0;t<n[x][J];t++)n[x][t]();n[V]=[],n[x]=[]}function Rn(t,e,r,a,f){setTimeout(function(){var l,s,d=e[X];if("item"in gn){if(!gn[0])return void setTimeout(arguments[E],25);gn=gn[0]}if(l=n[g][P](z),e[o]&&(l[o]=e[o]),e[c]&&(l[c]=e[c]),W in e)for(var p in e[W])e[W].hasOwnProperty(p)&&l[tn](p,e[W][p]);f?Tn?(t[hn]&&jn("start script preload: "+d),r[u]=l,Pn?(l[h]=!0,l[v]=a):l[rn]=function(){l[I]==b&&a()},l[N]=d):f&&0===d.indexOf(On)&&t[sn]?(s=new XMLHttpRequest,t[hn]&&jn("start script preload (xhr): "+d),s[rn]=function(){4==s[I]&&(s[rn]=function(){},r[i]=s.responseText+"\n//@ sourceURL="+d,a())},s.open("GET",d),s.send()):(t[hn]&&jn("start script preload (cache): "+d),l[o]="text/cache-script",Cn(l,r,U,function(){gn.removeChild(l),a()}),l[N]=d,gn[$](l,null)):($n?(t[hn]&&jn("start script load (ordered async): "+d),l.async=!1,Cn(l,r,_,a)):(t[hn]&&jn("start script load: "+d),Cn(l,r,_,a)),l[N]=d,gn[$](l,null))},0)}function qn(){var a,f,d={},p=Tn||An,h={};d[sn]=!0,d[dn]=!1,d[pn]=!1,d[yn]=!1,d[hn]=!1,d[vn]="",d[bn]=!1;function v(t,e,r){var a;function f(){null!==a&&(a=null,Dn(r))}if(!h[e[N]][_]){if(t[pn]||(h[e[N]][_]=!0),a=r[u]||n[g][P](z),e[o]&&(a[o]=e[o]),e[c]&&(a[c]=e[c]),W in e)for(var l in e[W])e[W].hasOwnProperty(l)&&a[tn](l,e[W][l]);Cn(a,r,_,f),r[u]?r[u]=null:r[i]?(a[y]=a[rn]=null,a[i]=r[i]):a[N]=e[X],gn[$](a,null),r[i]&&f()}}function b(n,t,e,r){var i,o,c=function(){t.ready_cb(t,function(){v(n,t,i)})},u=function(){t.finished_cb(t,e)};t[N]=Sn(t[N],n[vn]),t[X]=t[N]+(n[yn]?(/\?.*$/[H](t[N])?"&_":"?_")+~~(1e9*Math.random())+"=":""),h[t[N]]||(h[t[N]]={items:[],finished:!1}),o=h[t[N]].items,n[pn]||0===o[J]?(i=o[o[J]]={ready:!1,finished:!1,ready_listeners:[c],finished_listeners:[u]},Rn(n,t,i,r?function(){i[U]=!0;for(var n=0;n<i[V][J];n++)i[V][n]();i[V]=[]}:function(){Dn(i)},r)):(i=o[0],i[_]?u():i[x][l](u))}function m(){var t,i,o=zn(d,{}),c=[],u=0,a=!1;function y(n,t){o[hn]&&jn("script preload finished: "+n[X]),n[U]=!0,n[s]=t,v()}function h(n,t){o[hn]&&jn("script execution finished: "+n[X]),n[U]=n[_]=!0,n[s]=null;for(var e=0;e<t[B][J];e++)if(!t[B][e][_])return;t[_]=!0,v()}function v(){for(;u<c[J];)if(En(c[u])){o[hn]&&jn("$O.wait() executing: "+c[u]);try{c[u++]()}catch(n){o[hn]&&_n("$O.wait() error caught: ",n)}}else{if(!c[u][_]){if(Bn(c[u]))continue;break}u++}u==c[J]&&(a=!1,i=!1)}function m(){i&&i[B]||c[l](i={scripts:[],finished:!0})}return t={test:function(e){Mn(e)||(e=[e]);for(var r=0;r<e[J];r++)if(null===n[g][K](e[r]))return f;return t},js:function(){return function(n){for(var e=0;e<n[J];e++){var c,u=n[e],f=u;Mn(u)||(f=[u]);for(var s=0;s<f[J];s++)m(),u=f[s],En(u)&&(u=u()),u&&(Mn(u)?(c=[][S][L](u),c.unshift(s,1),[][M].apply(f,c),s--):("string"==typeof u&&(u={src:u}),u=zn(u,{ready:!1,ready_cb:y,finished:!1,finished_cb:h}),i[_]=!1,i[B][l](u),b(o,u,i,p&&a),a=!0,o[dn]&&t[r]()))}}(arguments),t},wait:function(){if(arguments[J]>0){for(var n=0;n<arguments[J];n++)c[l](arguments[n]);i=c[c[J]-1]}else i=!1;return v(),t},end:function(){return t}},{test:t[H],js:t[e],wait:t[r],end:t[R],setOptions:function(n){return zn(n,o),t}}}return a={setDefaults:function(n){zn(n,d),d[bn]&&a[e]("https://cdn.polyfill.io/v2/polyfill.min.js")},ready:function(t){Ln(n,t)},setOptions:function(){return m()[q].apply(null,arguments)},test:function(){return m()[H].apply(null,arguments)},js:function(){return m()[e].apply(null,arguments)},wait:function(){return m()[r].apply(null,arguments)},end:qn,noConflict:function(){return n.$O=t,a},sandbox:qn},f={test:function(){return f},js:function(){return f},wait:function(){return f},end:a[R]},a}var Hn=n[g][K]("[data-only]");Hn&&qn()[e](Hn.getAttribute("data-only")),function(n){n[m]=n[m].replace("no-"+e,e)}(n[g][j]),function(t,e,r){null===n[g][I]&&n[g][t]&&(n[g][I]="loading",n[g][t](e,r=function(){n[g][an](e,r,!1),n[g][I]=Q},!1))}(un,fn),n.$O=qn()}("undefined"!=typeof global?global:"undefined"!=typeof exports?exports:this);