diff --git a/demo/index.html b/demo/index.html index d5f87fd..2c613fc 100644 --- a/demo/index.html +++ b/demo/index.html @@ -26,7 +26,7 @@ - + diff --git a/pwacompat.min.js b/pwacompat.min.js index 77d6f2b..9a397a7 100644 --- a/pwacompat.min.js +++ b/pwacompat.min.js @@ -1,14 +1,12 @@ -function S(r){var m=0;return function(){return m\'';var b=V([a,location]),e=m("manifest");if(e)try{var g=JSON.parse(e);H(g,b)}catch(v){console.warn("PWACompat error",v)}else{var p=new XMLHttpRequest;p.open("GET",a);p.withCredentials= -"use-credentials"===A.getAttribute("crossorigin");p.onload=function(){try{var v=JSON.parse(p.responseText);m("manifest",p.responseText);H(v,b)}catch(w){console.warn("PWACompat error",w)}};p.send(null)}}function V(a){for(var b={},e=0;e.6*f)l.fillText(I,J/-2,0),l.translate(0,1.2*n),d.splice(0,c),c=0}return function(){var K=l.canvas.toDataURL();g(k,K);return K}}function g(f,c){var k=document.createElement("link");k.setAttribute("rel","apple-touch-startup-image");k.setAttribute("media","(orientation: "+f+")");k.setAttribute("href",c);document.head.appendChild(k)}function p(f,c){var k=window.screen,n=e(k.availWidth,k.availHeight,"portrait",f),d=e(k.availHeight,k.availWidth,"landscape", -f);setTimeout(function(){y.p=n();setTimeout(function(){y.l=d();c()},10)},10)}function v(f){function c(){--k||f()}var k=C.length+1;c();C.forEach(function(n){var d=new Image;d.crossOrigin="anonymous";d.onerror=c;d.onload=function(){d.onload=null;n.href=L(d,B,!0);y.i[d.src]=n.href;c()};d.src=n.href})}function w(){m("iOS",JSON.stringify(y))}function M(){var f=C.shift();if(f){var c=new Image;c.crossOrigin="anonymous";c.onerror=function(){return void M()};c.onload=function(){c.onload=null;p(c,function(){var k= -a.background_color&&L(c,B);k?(f.href=k,y.i[c.src]=k,v(w)):w()})};c.src=f.href}else p(null,w)}var t=a.icons||[],q=t.filter(function(f){return(f.h||"").includes("maskable")});t.sort(function(f,c){return x(c)-x(f)});q.sort(function(f,c){return x(c)-x(f)});var C=(0x(f)))return c.rel="apple-touch-icon",E("link",c)}).filter(Boolean);q=document.head.querySelector('meta[name="viewport"]');var X=!!(q&&q.content|| -"").match(/\bviewport-fit\s*=\s*cover\b/),N=a.display;q=-1!==Y.indexOf(N);h("mobile-web-app-capable",q);Z(a.theme_color||"black",X);aa&&(h("application-name",a.short_name),h("msapplication-tooltip",a.description),h("msapplication-starturl",b(a.start_url||".")),h("msapplication-navbutton-color",a.theme_color),(t=t[0])&&h("msapplication-TileImage",b(t.src)),h("msapplication-TileColor",a.background_color));h("theme-color",a.theme_color);if(D){var B=a.background_color||"#f8f9fa",W=O(B);(t=ba(a.related_applications))&& -h("apple-itunes-app","app-id="+t);h("apple-mobile-web-app-capable",q);h("apple-mobile-web-app-title",a.short_name||a.name);if(q=m("iOS"))try{var G=JSON.parse(q);g("portrait",G.p);g("landscape",G.l);C.forEach(function(f){var c=G.i[f.href];c&&(f.href=c)});return}catch(f){}var y={i:{}};M()}else t={por:"portrait",lan:"landscape"}[String(a.orientation||"").substr(0,3)]||"",h("x5-orientation",t),h("screen-orientation",t),"fullscreen"===N?(h("x5-fullscreen","true"),h("full-screen","yes")):q&&(h("x5-page-mode", -"app"),h("browsermode","application"))}function ba(a){var b;(a||[]).filter(function(e){return"itunes"===e.platform}).forEach(function(e){e.id?b=e.id:(e=e.url.match(/id(\d+)/))&&(b=e[1])});return b}function Z(a,b){if(D||ca){var e=O(a);if(D)h("apple-mobile-web-app-status-bar-style",b?"black-translucent":e?"black":"default");else{a:{try{var g=Windows.UI.ViewManagement.ApplicationView.getForCurrentView().titleBar;break a}catch(p){}g=void 0}if(b=g)b.foregroundColor=P(e?"black":"white"),b.backgroundColor= -P(a)}}}function P(a){a=Q(a);return{r:a[0],g:a[1],b:a[2],a:a[3]}}function Q(a){var b=F();b.fillStyle=a;b.fillRect(0,0,1,1);return b.getImageData(0,0,1,1).data||[]}function O(a){a=Q(a).map(function(b){b/=255;return.03928>b?b/12.92:Math.pow((b+.055)/1.055,2.4)});return 3\'';var b=R([a,location]),d=x("manifest");if(d)try{var g=JSON.parse(d);H(g,b)}catch(t){console.warn("PWACompat error",t)}else{var n=new XMLHttpRequest;n.open("GET",a);n.withCredentials="use-credentials"===z.getAttribute("crossorigin"); +n.onload=function(){try{var t=JSON.parse(n.responseText);x("manifest",n.responseText);H(t,b)}catch(u){console.warn("PWACompat error",u)}};n.send(null)}}function R(a){for(var b={},d=0;d.6*f)l.fillText(I, +J/-2,0),l.translate(0,1.2*m),e.splice(0,c),c=0}return function(){var K=l.canvas.toDataURL();g(k,K);return K}}function g(f,c){var k=document.createElement("link");k.setAttribute("rel","apple-touch-startup-image");k.setAttribute("media","(orientation: "+f+")");k.setAttribute("href",c);document.head.appendChild(k)}function n(f,c){var k=window.screen,m=d(k.availWidth,k.availHeight,"portrait",f),e=d(k.availHeight,k.availWidth,"landscape",f);setTimeout(function(){w.p=m();setTimeout(function(){w.l=e();c()}, +10)},10)}function t(f){function c(){--k||f()}var k=B.length+1;c();B.forEach(function(m){var e=new Image;e.crossOrigin="anonymous";e.onerror=c;e.onload=function(){e.onload=null;m.href=L(e,A,!0);w.i[e.src]=m.href;c()};e.src=m.href})}function u(){x("iOS",JSON.stringify(w))}function M(){var f=B.shift();if(f){var c=new Image;c.crossOrigin="anonymous";c.onerror=function(){return void M()};c.onload=function(){c.onload=null;n(c,function(){var k=a.background_color&&L(c,A);k?(f.href=k,w.i[c.src]=k,t(u)):u()})}; +c.src=f.href}else n(null,u)}var q=a.icons||[],p=q.filter(function(f){return(f.h||"").includes("maskable")});q.sort(function(f,c){return v(c)-v(f)});p.sort(function(f,c){return v(c)-v(f)});var B=(0v(f)))return c.rel="apple-touch-icon",D("link",c)}).filter(Boolean);p=r('meta[name="viewport"]');var T=!!(p&&p.content||"").match(/\bviewport-fit\s*=\s*cover\b/),N=a.display;p=-1!==U.indexOf(N);h("mobile-web-app-capable", +p);V(a.theme_color||"black",T);W&&(h("application-name",a.short_name),h("msapplication-tooltip",a.description),h("msapplication-starturl",b(a.start_url||".")),h("msapplication-navbutton-color",a.theme_color),(q=q[0])&&h("msapplication-TileImage",b(q.src)),h("msapplication-TileColor",a.background_color));h("theme-color",a.theme_color);if(C){var A=a.background_color||"#f8f9fa",S=O(A);(q=X(a.related_applications))&&h("apple-itunes-app","app-id="+q);h("apple-mobile-web-app-capable",p);h("apple-mobile-web-app-title", +a.short_name||a.name);if(p=x("iOS"))try{var F=JSON.parse(p);g("portrait",F.p);g("landscape",F.l);B.forEach(function(f){var c=F.i[f.href];c&&(f.href=c)});return}catch(f){}var w={i:{}};M()}else q={por:"portrait",lan:"landscape"}[String(a.orientation||"").substr(0,3)]||"",h("x5-orientation",q),h("screen-orientation",q),"fullscreen"===N?(h("x5-fullscreen","true"),h("full-screen","yes")):p&&(h("x5-page-mode","app"),h("browsermode","application"))}function X(a){var b;(a||[]).filter(function(d){return"itunes"=== +d.platform}).forEach(function(d){d.id?b=d.id:(d=d.url.match(/id(\d+)/))&&(b=d[1])});return b}function V(a,b){if(C||Y){var d=O(a);if(C)h("apple-mobile-web-app-status-bar-style",b?"black-translucent":d?"black":"default");else{a:{try{var g=Windows.UI.ViewManagement.ApplicationView.getForCurrentView().titleBar;break a}catch(n){}g=void 0}if(b=g)d=d?255:0,b.foregroundColor={r:d,g:d,b:d,a:255},a=P(a),b.backgroundColor={r:a[0],g:a[1],b:a[2],a:a[3]}}}}function P(a){var b=E();b.fillStyle=a;b.fillRect(0,0,1, +1);return b.getImageData(0,0,1,1).data||[]}function O(a){a=P(a).map(function(b){b/=255;return.03928>b?b/12.92:Math.pow((b+.055)/1.055,2.4)});return 3