mirror of
https://github.com/hexahigh/cdn.git
synced 2025-12-11 20:15:22 +01:00
1 line
9.1 KiB
JavaScript
1 line
9.1 KiB
JavaScript
/*! offline-js 0.7.13 */(function(){var b,c,d,e,f,g,h,a=Math.floor;e=function(a,b){var c,d,e;for(c in d=[],b.prototype)try{e=b.prototype[c],null==a[c]&&"function"!=typeof e?d.push(a[c]=e):d.push(void 0)}catch(a){}return d},b={},null==b.options&&(b.options={}),d={checks:{xhr:{url:function(){return"/favicon.ico?_="+a(1e9*Math.random())},timeout:5e3},image:{url:function(){return"/favicon.ico?_="+a(1e9*Math.random())}},active:"xhr"},checkOnLoad:!1,interceptRequests:!0,reconnect:!0},f=function(a,b){var c,d,e,f,g,h;for(c=a,h=b.split("."),d=e=0,f=h.length;f>e&&(g=h[d],c=c[g],"object"==typeof c);d=++e);return d===h.length-1?c:void 0},b.getOption=function(a){var c,e;return e=null==(c=f(b.options,a))?f(d,a):c,"function"==typeof e?e():e},"function"==typeof window.addEventListener&&window.addEventListener("online",function(){return setTimeout(b.confirmUp,100)},!1),"function"==typeof window.addEventListener&&window.addEventListener("offline",function(){return b.confirmDown()},!1),b.state="up",b.markUp=function(){return b.trigger("confirmed-up"),"up"===b.state?void 0:(b.state="up",b.trigger("up"))},b.markDown=function(){return b.trigger("confirmed-down"),"down"===b.state?void 0:(b.state="down",b.trigger("down"))},g={},b.on=function(a,c,d){var f,h,i,k,l;if(h=a.split(" "),1<h.length){for(l=[],i=0,k=h.length;k>i;i++)f=h[i],l.push(b.on(f,c,d));return l}return null==g[a]&&(g[a]=[]),g[a].push([d,c])},b.off=function(a,b){var c,d,e,f,h;if(null!=g[a]){if(b){for(e=0,h=[];e<g[a].length;)f=g[a][e],d=f[0],c=f[1],c===b?h.push(g[a].splice(e,1)):h.push(e++);return h}return g[a]=[]}},b.trigger=function(a){var b,c,d,e,f,h,i;if(null!=g[a]){for(f=g[a],i=[],d=0,e=f.length;e>d;d++)h=f[d],b=h[0],c=h[1],i.push(c.call(b));return i}},c=function(a,b,c){var d,e,f,g,h;return h=function(){return a.status&&12e3>a.status?b():c()},null===a.onprogress?(d=a.onerror,a.onerror=function(){return c(),"function"==typeof d?d.apply(null,arguments):void 0},g=a.ontimeout,a.ontimeout=function(){return c(),"function"==typeof g?g.apply(null,arguments):void 0},e=a.onload,a.onload=function(){return h(),"function"==typeof e?e.apply(null,arguments):void 0}):(f=a.onreadystatechange,a.onreadystatechange=function(){return 4===a.readyState?h():0===a.readyState&&c(),"function"==typeof f?f.apply(null,arguments):void 0})},b.checks={},b.checks.xhr=function(){var a,d;d=new XMLHttpRequest,d.offline=!1,d.open("HEAD",b.getOption("checks.xhr.url"),!0),null!=d.timeout&&(d.timeout=b.getOption("checks.xhr.timeout")),c(d,b.markUp,b.markDown);try{d.send()}catch(c){a=c,b.markDown()}return d},b.checks.image=function(){var a;return a=document.createElement("img"),a.onerror=b.markDown,a.onload=b.markUp,void(a.src=b.getOption("checks.image.url"))},b.checks.down=b.markDown,b.checks.up=b.markUp,b.check=function(){return b.trigger("checking"),b.checks[b.getOption("checks.active")]()},b.confirmUp=b.confirmDown=b.check,b.onXHR=function(a){var b,c,d;return d=function(b,c){var d;return d=b.open,b.open=function(e,f,g,h,i){return a({type:e,url:f,async:g,flags:c,user:h,password:i,xhr:b}),d.apply(b,arguments)}},c=window.XMLHttpRequest,window.XMLHttpRequest=function(a){var b,e,f;return f=new c(a),d(f,a),e=f.setRequestHeader,f.headers={},f.setRequestHeader=function(a,b){return f.headers[a]=b,e.call(f,a,b)},b=f.overrideMimeType,f.overrideMimeType=function(a){return f.mimeType=a,b.call(f,a)},f},e(window.XMLHttpRequest,c),null==window.XDomainRequest?void 0:(b=window.XDomainRequest,window.XDomainRequest=function(){var a;return a=new b,d(a),a},e(window.XDomainRequest,b))},h=function(){return b.getOption("interceptRequests")&&b.onXHR(function(a){var d;return d=a.xhr,!1===d.offline?void 0:c(d,b.markUp,b.confirmDown)}),b.getOption("checkOnLoad")?b.check():void 0},setTimeout(h,0),window.Offline=b}).call(this),function(){var a,b,c,d,e,f,g,h,i;if(!window.Offline)throw new Error("Offline Reconnect brought in without offline.js");d=Offline.reconnect={},f=null,e=function(){var a;return null!=d.state&&"inactive"!==d.state&&Offline.trigger("reconnect:stopped"),d.state="inactive",d.remaining=d.delay=null==(a=Offline.getOption("reconnect.initialDelay"))?3:a},b=function(){var a,b;return a=null==(b=Offline.getOption("reconnect.delay"))?Math.min(Math.ceil(1.5*d.delay),3600):b,d.remaining=d.delay=a},g=function(){return"connecting"===d.state?void 0:(d.remaining-=1,Offline.trigger("reconnect:tick"),0===d.remaining?h():void 0)},h=function(){return"waiting"===d.state?(Offline.trigger("reconnect:connecting"),d.state="connecting",Offline.check()):void 0},a=function(){return Offline.getOption("reconnect")?(e(),d.state="waiting",Offline.trigger("reconnect:started"),f=setInterval(g,1e3)):void 0},i=function(){return null!=f&&clearInterval(f),e()},c=function(){return Offline.getOption("reconnect")&&"connecting"===d.state?(Offline.trigger("reconnect:failure"),d.state="waiting",b()):void 0},d.tryNow=h,e(),Offline.on("down",a),Offline.on("confirmed-down",c),Offline.on("up",i)}.call(this),function(){var a,b,c,d,e,f;if(!window.Offline)throw new Error("Requests module brought in without offline.js");c=[],f=!1,d=function(a){return Offline.trigger("requests:capture"),"down"!==Offline.state&&(f=!0),c.push(a)},e=function(a){var b,c,d,e,f,g,h,i,j;for(c in j=a.xhr,g=a.url,f=a.type,h=a.user,d=a.password,b=a.body,j.abort(),j.open(f,g,!0,h,d),e=j.headers,e)i=e[c],j.setRequestHeader(c,i);return j.mimeType&&j.overrideMimeType(j.mimeType),j.send(b)},a=function(){return c=[]},b=function(){var b,d,f,g,h,j;for(Offline.trigger("requests:flush"),h={},b=0,f=c.length;f>b;b++)g=c[b],j=g.url.replace(/(\?|&)_=[0-9]+/,function(a,b){return"?"===b?b:""}),h[g.type.toUpperCase()+" - "+j]=g;for(d in h)g=h[d],e(g);return a()},setTimeout(function(){return!1===Offline.getOption("requests")?void 0:(Offline.on("confirmed-up",function(){return f?(f=!1,a()):void 0}),Offline.on("up",b),Offline.on("down",function(){return f=!1}),Offline.onXHR(function(a){var b,c,e,f,g;return g=a.xhr,e=a.async,!1!==g.offline&&(f=function(){return d(a)},c=g.send,g.send=function(b){return a.body=b,c.apply(g,arguments)},e)?null===g.onprogress?(g.addEventListener("error",f,!1),g.addEventListener("timeout",f,!1)):(b=g.onreadystatechange,g.onreadystatechange=function(){return 0===g.readyState?f():4===g.readyState&&(0===g.status||12e3<=g.status)&&f(),"function"==typeof b?b.apply(null,arguments):void 0}):void 0}),Offline.requests={flush:b,clear:a})},0)}.call(this),function(){var a,b,c,d,e;if(!Offline)throw new Error("Offline simulate brought in without offline.js");for(d=["up","down"],b=0,c=d.length;c>b;b++)e=d[b],(document.querySelector("script[data-simulate='"+e+"']")||localStorage.OFFLINE_SIMULATE===e)&&(null==Offline.options&&(Offline.options={}),null==(a=Offline.options).checks&&(a.checks={}),Offline.options.checks.active=e)}.call(this),function(){var b,c,d,e,f,g,h,i,j,k,l,m,n,a=Math.floor;if(!window.Offline)throw new Error("Offline UI brought in without offline.js");c="<div class=\"offline-ui\"><div class=\"offline-ui-content\"></div></div>",b="<a href class=\"offline-ui-retry\"></a>",g=function(a){var b;return b=document.createElement("div"),b.innerHTML=a,b.children[0]},h=f=null,e=function(a){return l(a),h.className+=" "+a},l=function(a){return h.className=h.className.replace(new RegExp("(^| )"+a.split(" ").join("|")+"( |$)","gi")," ")},j={},i=function(a,b){return e(a),null!=j[a]&&clearTimeout(j[a]),j[a]=setTimeout(function(){return l(a),delete j[a]},1e3*b)},n=function(b){var c,d,e,f;for(d in e={day:86400,hour:3600,minute:60,second:1},e)if(c=e[d],b>=c)return f=a(b/c),[f,d];return["now",""]},m=function(){var a,d;return h=g(c),document.body.appendChild(h),null!=Offline.reconnect&&Offline.getOption("reconnect")&&(h.appendChild(g(b)),a=h.querySelector(".offline-ui-retry"),d=function(a){return a.preventDefault(),Offline.reconnect.tryNow()},null==a.addEventListener?a.attachEvent("click",d):a.addEventListener("click",d,!1)),e("offline-ui-"+Offline.state),f=h.querySelector(".offline-ui-content")},k=function(){return m(),Offline.on("up",function(){return l("offline-ui-down"),e("offline-ui-up"),i("offline-ui-up-2s",2),i("offline-ui-up-5s",5)}),Offline.on("down",function(){return l("offline-ui-up"),e("offline-ui-down"),i("offline-ui-down-2s",2),i("offline-ui-down-5s",5)}),Offline.on("reconnect:connecting",function(){return e("offline-ui-connecting"),l("offline-ui-waiting")}),Offline.on("reconnect:tick",function(){var a,b,c;return e("offline-ui-waiting"),l("offline-ui-connecting"),a=n(Offline.reconnect.remaining),b=a[0],c=a[1],f.setAttribute("data-retry-in-value",b),f.setAttribute("data-retry-in-unit",c)}),Offline.on("reconnect:stopped",function(){return l("offline-ui-connecting offline-ui-waiting"),f.setAttribute("data-retry-in-value",null),f.setAttribute("data-retry-in-unit",null)}),Offline.on("reconnect:failure",function(){return i("offline-ui-reconnect-failed-2s",2),i("offline-ui-reconnect-failed-5s",5)}),Offline.on("reconnect:success",function(){return i("offline-ui-reconnect-succeeded-2s",2),i("offline-ui-reconnect-succeeded-5s",5)})},"complete"===document.readyState?k():null==document.addEventListener?(d=document.onreadystatechange,document.onreadystatechange=function(){return"complete"===document.readyState&&k(),"function"==typeof d?d.apply(null,arguments):void 0}):document.addEventListener("DOMContentLoaded",k,!1)}.call(this); |