forked from tubalmartin/riloadr
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathriloadr.min.js
4 lines (4 loc) · 3.74 KB
/
riloadr.min.js
1
2
3
4
/*!
* Riloadr.js 1.1.0 (c) 2012 Tubal Martin - MIT license
*/
!function(a){typeof define=="function"&&define.amd?define(a):window.Riloadr=a()}(function(){function Z(a){function L(){gb(H,l,B),gb(H,m,D),S&&(Y=H[x],gb(H,E,F))}function M(){hb(H,l,B),hb(H,m,D),S&&hb(H,E,F)}function N(a,c){a[r]=b,a[p]=0,a[n]=O,a[o]=P,a.src=ab(a,h,K),J.splice(c,1)}function O(){var b=this;b[n]=b[o]=e,b[s]=b[s].replace(t,"$1$2"),n in a&&a[n][g](b)}function P(){var c=this;y>0&&c[p]<y&&(c[p]++,c.src=ab(c,h,K,b)),o in a&&a[o][g](c)}var f=this,h=a.base||j,i=a.breakpoints||fb('"breakpoints" not defined.'),q=a.name||"responsive",t=new RegExp("(^|\\s)"+q+"(\\s|$)"),u=a.defer&&a.defer.toLowerCase()||c,w=a.foldDistance||100,y=a[p]||0,z=a.root||e,A=u==="belowfold"&&R&&!W,B=A&&cb(function(){f[v]()},d),D=A&&db(function(){f[v]()},d),F=A&&db(function(){H[x]!==Y&&(Y=H[x],f[v]())},d),J=[],K;f[v]=function(a){eb(function(c,d,f){if(!J[k]||a===b){A&&L(),c=Q&&z[C]("img."+q)||z.getElementsByTagName("img"),f=0;while(d=c[f])d&&!d[r]&&(Q||d[s].indexOf(q)>=0)&&J.push(d),f++}if(J[k]){f=0;while(d=J[f])d&&!d[r]&&(!A||A&&!bb(d,w))&&(N(d,f),f--),f++}A&&!J[k]&&M(),c=d=e})},X(function(){G=I.body,z=I.getElementById(z)||G,T=T||_(),K=$(i,T),!u||A?f[v]():ib(f[v])})}function $(a,b){var c=j,d=b,e=0,f,g,h,i,k;while(f=a[e]){g=f.name,h=f.minWidth,i=f.maxWidth,k=f.minDevicePixelRatio;if(b>0){if(h&&i&&b>=h&&b<=i||h&&!i&&b>=h||i&&!h&&b<=i)if(!k||k&&V>=k)c=g}else if(d<=0||h<d||i<d)d=h||i||d,c=g;e++}return c+j}function _(){var a=Math,b=[J.clientWidth,J.offsetWidth,G.clientWidth],c=a.ceil(U/V),d=b[k],e=0,f;for(;e<d;e++)isNaN(b[e])&&(b.splice(e,1),e--);return b[k]&&(f=a.max[h](a,b),isNaN(c)||(f=a.min(c,f))),f||c||0}function ab(a,b,c,d){var e=(a.getAttribute("data-base")||b)+(a.getAttribute("data-src")||j);return d&&(e+=(O.test(e)?"&":"?")+"riloadrts="+(new Date).getTime()),e.replace(P,c)}function bb(a,b){var c=J[u]||G[u]||0,d=I.compatMode==="CSS1Compat"&&J[z]||G&&G[z]||J[z];return d<=a[F]().top-c-b}function cb(a,b){function j(){i=new Date,g=e,a[h](f,c)}var c,d,f,g,i=0;return function(){var e=new Date,k=b-(e-i);return c=arguments,f=this,k<=0?(i=e,d=a[h](f,c)):g||(g=setTimeout(j,k)),d}}function db(a,b,c){function j(){i=e,c||a[h](g,d)}var d,f,g,i;return function(){var e=c&&!i;return d=arguments,g=this,clearTimeout(i),i=setTimeout(j,b),e&&(f=a[h](g,d)),f}}function eb(a){var b=Array[t].slice[g](arguments,1);setTimeout(function(){return a[h](e,b)},1)}function fb(a){throw new Error("Riloadr: "+a)}function gb(a,b,d){a[M](L+b,d,c)}function hb(a,b,d){a[N](L+b,d,c)}function ib(a){if(I[w]===q)a();else{var b=function(){hb(H,f,b),a()};gb(H,f,b)}}"use strict";var a="on",b=!0,c=!1,d=250,e=null,f="load",g="call",h="apply",i="error",j="",k="length",l="scroll",m="resize",n=a+f,o=a+i,p="retries",q="complete",r="riloaded",s="className",t="prototype",u="clientTop",v="loadImages",w="readyState",x="orientation",y="attachEvent",z="clientHeight",A="EventListener",B="readystatechange",C="querySelectorAll",D="add"+A,E=x+"change",F="getBoundingClientRect",G,H=window,I=H.document,J=I.documentElement,K=D in I,L=K?j:a,M=K?D:y,N=K?"remove"+A:"detachEvent",O=/\?/,P=/{breakpoint-name}/gi,Q=C in I,R=F in J,S=x in H&&a+E in H,T,U=H.screen.width,V=H.devicePixelRatio||1,W=Object[t].toString[g](H.operamini)==="[object OperaMini]",X,Y;return J[s]=J[s].replace(/(^|\s)no-js(\s|$)/,"$1$2"),Z.version="1.1.0",Z[t].riload=function(){this[v](b)},X=function(){function j(a){if(!h){if(!I.body)return eb(j);h=b;while(a=g.shift())eb(a)}}function k(){if(!h){try{J.doScroll("left")}catch(a){return eb(k)}j()}}var a="DOMContentLoaded",d=c,g=[],h=c,i;if(I[w]===q)j();else{if(I[D])i=function(){hb(I,a,i),j()},gb(I,a,i);else if(I[y]){i=function(){I[w]===q&&(hb(I,B,i),j())},gb(I,B,i);try{d=H.frameElement==e}catch(l){}J.doScroll&&d&&k()}gb(H,f,j)}return function(a){h?eb(a):g.push(a)}}(),Z});