Websites
Websites
Runtime: 1.4s
Share on Facebook or Twitter
On May 15, 2021 at 3:52:22 AM UTC, https://cdn.ampproject.org/v0/amp-iframe-0.1.js was accessible when tested on AS7552 in Vietnam.

Failures

HTTP Experiment
null
DNS Experiment
null
Control
null

DNS Queries

Resolver:
27.71.194.211
Query:
IN A cdn.ampproject.org
Engine:
system
Name
Class
TTL
Type
DATA
Answer IP Info
@
IN
A
172.217.26.129
AS15169 (Google LLC)
Query:
IN AAAA cdn.ampproject.org
Engine:
system
Name
Class
TTL
Type
DATA
Answer IP Info
@
IN
AAAA
2404:6800:4005:813::2001
AS15169 (Google LLC)

TCP Connections

2404:6800:4005:813::2001:443: failed (unknown_failure: dial tcp [scrubbed]: connect: no route to host)
172.217.26.129:443: succeeded

HTTP Requests

URL
GET https://cdn.ampproject.org/v0/amp-iframe-0.1.js
Response Headers
Accept-Ranges:
bytes
Access-Control-Allow-Origin:
*
Alt-Svc:
h3-29=":443"; ma=2592000,h3-T051=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43"
Cache-Control:
private, max-age=604800, stale-while-revalidate=604800
Content-Length:
23064
Content-Security-Policy:
default-src * blob: data:; script-src blob: https://cdn.ampproject.org/lts/ https://cdn.ampproject.org/rtv/ https://cdn.ampproject.org/sw/ https://cdn.ampproject.org/v0.js https://cdn.ampproject.org/v0.mjs https://cdn.ampproject.org/v0/ https://cdn.ampproject.org/viewer/; object-src 'none'; style-src 'unsafe-inline' https://cdn.ampproject.org/rtv/ https://cdn.materialdesignicons.com https://cloud.typography.com https://fast.fonts.net https://fonts.googleapis.com https://maxcdn.bootstrapcdn.com https://p.typekit.net https://pro.fontawesome.com https://use.fontawesome.com https://use.typekit.net; report-uri https://csp.withgoogle.com/csp/amp
Content-Type:
text/javascript
Cross-Origin-Resource-Policy:
cross-origin
Date:
Sat, 15 May 2021 03:52:23 GMT
Etag:
"a63b99ce347d5932"
Expires:
Sat, 15 May 2021 03:52:23 GMT
Server:
sffe
Strict-Transport-Security:
max-age=31536000; includeSubDomains; preload
Timing-Allow-Origin:
*
Vary:
Accept-Encoding
X-Content-Type-Options:
nosniff
X-Xss-Protection:
0
Response Body
(self.AMP=self.AMP||[]).push({n:"amp-iframe",ev:"0.1",l:true,v:"2104302228000",m:0,f:(function(AMP,_){
'use strict';var l,aa="function"==typeof Object.create?Object.create:function(a){function b(){}b.prototype=a;return new b};function ba(a){for(var b=["object"==typeof globalThis&&globalThis,a,"object"==typeof window&&window,"object"==typeof self&&self,"object"==typeof global&&global],c=0;c<b.length;++c){var d=b[c];if(d&&d.Math==Math)return}(function(){throw Error("Cannot find global object");})()}ba(this);"function"===typeof Symbol&&Symbol("x");var m;
if("function"==typeof Object.setPrototypeOf)m=Object.setPrototypeOf;else{var r;a:{var ca={a:!0},t={};try{t.__proto__=ca;r=t.a;break a}catch(a){}r=!1}m=r?function(a,b){a.__proto__=b;if(a.__proto__!==b)throw new TypeError(a+" is not extensible");return a}:null}var u=m,v;function w(){return v?v:v=Promise.resolve(void 0)}function da(){var a,b;this.promise=new Promise(function(c,d){a=c;b=d});this.resolve=a;this.reject=b};function x(a,b){for(var c=[],d=0,e=0;e<a.length;e++){var f=a[e];b(f,e,a)?c.push(f):(d<e&&(a[d]=f),d++)}d<a.length&&(a.length=d)};function ea(a,b){var c=a.length-b.length;return 0<=c&&a.indexOf(b,c)==c};function y(a){return a||{}};function fa(a){for(var b=null,c="",d=0;d<arguments.length;d++){var e=arguments[d];if(e instanceof Error&&!b){b=void 0;var f=Object.getOwnPropertyDescriptor(e,"message");if(f&&f.writable)b=e;else{f=e.stack;var g=Error(e.message);for(b in e)g[b]=e[b];g.stack=f;b=g}}else c&&(c+=" "),c+=e}b?c&&(b.message=c+": "+b.message):b=Error(c);return b}function ha(a){var b=fa.apply(null,arguments);setTimeout(function(){self.__AMP_REPORT_ERROR&&self.__AMP_REPORT_ERROR(b);throw b;})};function ia(a,b){var c=b=void 0===b?"":b;try{return decodeURIComponent(a)}catch(d){return c}};var ja=/(?:^[#?]?|&)([^=&]+)(?:=([^&]*))?/g;var z=self.AMP_CONFIG||{},ka=("string"==typeof z.cdnProxyRegex?new RegExp(z.cdnProxyRegex):z.cdnProxyRegex)||/^https:\/\/([a-zA-Z0-9_-]+\.)?cdn\.ampproject\.org$/;function la(a){if(!self.document||!self.document.head||self.location&&ka.test(self.location.origin))return null;var b=self.document.head.querySelector('meta[name="'+a+'"]');return b&&b.getAttribute("content")||null}
var ma={thirdParty:z.thirdPartyUrl||"https://3p.ampproject.net",thirdPartyFrameHost:z.thirdPartyFrameHost||"ampproject.net",thirdPartyFrameRegex:("string"==typeof z.thirdPartyFrameRegex?new RegExp(z.thirdPartyFrameRegex):z.thirdPartyFrameRegex)||/^d-\d+\.ampproject\.net$/,cdn:z.cdnUrl||la("runtime-host")||"https://cdn.ampproject.org",cdnProxyRegex:ka,localhostRegex:/^https?:\/\/localhost(:\d+)?$/,errorReporting:z.errorReportingUrl||"https://us-central1-amp-error-reporting.cloudfunctions.net/r",betaErrorReporting:z.betaErrorReportingUrl||
"https://us-central1-amp-error-reporting.cloudfunctions.net/r-beta",localDev:z.localDev||!1,trustedViewerHosts:[/(^|\.)google\.(com?|[a-z]{2}|com?\.[a-z]{2}|cat)$/,/(^|\.)gmail\.(com|dev)$/],geoApi:z.geoApiUrl||la("amp-geo-api")};self.__AMP_LOG=self.__AMP_LOG||{user:null,dev:null,userForEmbed:null};var A=self.__AMP_LOG;function B(){if(!A.user)throw Error("failed to call initLogConstructor");return A.user}function C(){if(A.dev)return A.dev;throw Error("failed to call initLogConstructor");}function D(a,b,c,d,e){B().assert(a,b,c,d,e,void 0,void 0,void 0,void 0,void 0,void 0)};var E;function na(a,b){var c=a,d=b;var e=function(g){try{return d(g)}catch(k){throw self.__AMP_REPORT_ERROR(k),k;}};var f=oa();c.addEventListener("message",e,f?void 0:!1);return function(){c&&c.removeEventListener("message",e,f?void 0:!1);e=c=d=null}}function oa(){if(void 0!==E)return E;E=!1;try{var a={get capture(){E=!0}};self.addEventListener("test-options",null,a);self.removeEventListener("test-options",null,a)}catch(b){}return E};/*
 https://mths.be/cssescape v1.5.1 by @mathias | MIT license */
function pa(a,b){for(;a&&void 0!==a;a=a.parentElement)if(b(a))return a;return null}function qa(a){return a.closest?a.closest(".i-amphtml-overlay"):pa(a,function(b){var c=b.matches||b.webkitMatchesSelector||b.mozMatchesSelector||b.msMatchesSelector||b.oMatchesSelector;return c?c.call(b,".i-amphtml-overlay"):!1})};function ra(a,b){try{return JSON.parse(a)}catch(c){return b&&b(c),null}};function sa(a){if(!ta(a))return null;var b=a.indexOf("{");try{return JSON.parse(a.substr(b))}catch(c){return C().error("MESSAGING","Failed to parse message: "+a,c),null}}function ta(a){return"string"==typeof a&&0==a.indexOf("amp-")&&-1!=a.indexOf("{")};function ua(a,b){return na(a,b)};function F(){this.aa=100;this.M=this.T=0;this.C=Object.create(null)}F.prototype.has=function(a){return!!this.C[a]};F.prototype.get=function(a){var b=this.C[a];if(b)return b.access=++this.M,b.payload};F.prototype.put=function(a,b){this.has(a)||this.T++;this.C[a]={payload:b,access:this.M};if(!(this.T<=this.aa)){a=this.C;var c=this.M+1,d;for(d in a){var e=a[d].access;if(e<c){c=e;var f=d}}void 0!==f&&(delete a[f],this.T--)}};y({c:!0,v:!0,a:!0,ad:!0});var G,va;
function wa(a){G||(G=self.document.createElement("a"),va=self.__AMP_URL_CACHE||(self.__AMP_URL_CACHE=new F));var b=va,c=G;if(b&&b.has(a))a=b.get(a);else{c.href=a;c.protocol||(c.href=c.href);var d={href:c.href,protocol:c.protocol,host:c.host,hostname:c.hostname,port:"0"==c.port?"":c.port,pathname:c.pathname,search:c.search,hash:c.hash,origin:null};"/"!==d.pathname[0]&&(d.pathname="/"+d.pathname);if("http:"==d.protocol&&80==d.port||"https:"==d.protocol&&443==d.port)d.port="",d.host=d.hostname;d.origin=
c.origin&&"null"!=c.origin?c.origin:"data:"!=d.protocol&&d.host?d.protocol+"//"+d.host:d.href;b&&b.put(a,d);a=d}return a};var H,xa="Webkit webkit Moz moz ms O o".split(" "),ya={getPropertyPriority:function(){return""},getPropertyValue:function(){return""}};function za(a,b){var c=a.style;if("zIndex".startsWith("--"))c="zIndex";else{H||(H=Object.create(null));var d=H.zIndex;if(!d){d="zIndex";if(void 0===c.zIndex){var e;b:{for(e=0;e<xa.length;e++){var f=xa[e]+"ZIndex";if(void 0!==c[f]){e=f;break b}}e=""}void 0!==c[e]&&(d=e)}H.zIndex=d}c=d}c&&(c.startsWith("--")?a.style.setProperty(c,b):a.style[c]=b)};function Aa(a,b,c){var d=a.listeningFors;!d&&c&&(d=a.listeningFors=Object.create(null));a=d||null;if(!a)return a;var e=a[b];!e&&c&&(e=a[b]=[]);return e||null}function Ba(a,b,c){var d=c?b.getAttribute("data-amp-3p-sentinel"):"amp";a=Aa(a,d,!0);for(d=0;d<a.length;d++){var e=a[d];if(e.frame===b){var f=e;break}}f||(f={frame:b,events:Object.create(null)},a.push(f));return f.events}
function Ca(a){for(var b=y({sentinel:"unlisten"}),c=a.length-1;0<=c;c--){var d=a[c];if(!d.frame.contentWindow){a.splice(c,1);var e=d.events,f;for(f in e)e[f].splice(0,Infinity).forEach(function(g){g(b)})}}}
function Da(a){a.listeningFors||a.addEventListener("message",function(b){if(b.data){var c=Ea(b.data);if(c&&c.sentinel){var d=b.source;var e=Aa(a,c.sentinel);if(e){for(var f,g=0;g<e.length;g++){var k=e[g],n=k.frame.contentWindow;if(n){var h;if(!(h=d==n))b:{for(h=d;h&&h!=h.parent;h=h.parent)if(h==n){h=!0;break b}h=!1}if(h){f=k;break}}else setTimeout(Ca,0,e)}d=f?f.events:null}else d=e;var q=d;if(q){var p=q[c.type];if(p)for(p=p.slice(),d=0;d<p.length;d++)(0,p[d])(c,b.source,b.origin,b)}}}})}
function I(a,b,c,d,e,f){function g(p,L,M,Qa){if("amp"==p.sentinel){if(L!=a.contentWindow)return;var Ra="null"==M&&f;if(n!=M&&!Ra)return}if(e||L==a.contentWindow)"unlisten"==p.sentinel?q():c(p,L,M,Qa)}var k=a.ownerDocument.defaultView;Da(k);d=Ba(k,a,d);var n=wa(a.src).origin,h=d[b]||(d[b]=[]),q;h.push(g);return q=function(){if(g){var p=h.indexOf(g);-1<p&&h.splice(p,1);c=h=g=null}}}
function Fa(a,b,c,d,e){if(a.contentWindow)for(d.type=c,d.sentinel=e?a.getAttribute("data-amp-3p-sentinel"):"amp",a=d,e&&(a="amp-"+JSON.stringify(d)),d=0;d<b.length;d++)e=b[d],e.win.postMessage(a,e.origin)}function Ea(a){"string"==typeof a&&(a="{"==a.charAt(0)?ra(a,function(b){C().warn("IFRAME-HELPER","Postmessage could not be parsed. Is it in a valid JSON format?",b)})||null:ta(a)?sa(a):null);return a}
function J(a,b){var c=this;this.h=a;this.R=!1;this.A=[];this.ba=I(this.h,"send-intersections",function(d,e,f){c.A.some(function(g){return g.win==e})||c.A.push({win:e,origin:f});b(d,e,f)},this.R,this.R)}J.prototype.send=function(a,b){x(this.A,function(c){return!c.win.parent});Fa(this.h,this.A,a,b,this.R)};J.prototype.destroy=function(){this.ba();this.A.length=0};var K=[[300,250],[320,50],[300,50],[320,100]];function Ga(a,b,c){if(!(0==b&&0==c||0==a.width&&0==a.height)){b=a.left+b;c=a.top+c;var d=a.width;a=a.height;a={left:b,top:c,width:d,height:a,bottom:c+a,right:b+d,x:b,y:c}}return a};var Ha=[0,.05,.1,.15,.2,.25,.3,.35,.4,.45,.5,.55,.6,.65,.7,.75,.8,.85,.9,.95,1];Date.now();function Ia(a,b){var c=this;this.$=a;this.G=null;this.U=new J(b,function(){c.G.observe(c.$.element)});this.G=new IntersectionObserver(function(d){c.U.send("intersection",y({changes:d.map(Ja)}))},{threshold:Ha})}Ia.prototype.destroy=function(){this.G.disconnect();this.G=null;this.U.destroy();this.U=null};
function Ja(a){return{time:a.time,rootBounds:a.rootBounds,boundingClientRect:a.boundingClientRect,intersectionRect:a.intersectionRect,intersectionRatio:a.intersectionRatio}};function N(a,b){a=a.__AMP_TOP||(a.__AMP_TOP=a);return O(a,b)}function P(a,b){a=Q(a);a=R(a);return Ka(a,b)?O(a,b):null}function Q(a){return a.nodeType?N((a.ownerDocument||a).defaultView,"ampdoc").getAmpDoc(a):a}function R(a){a=Q(a);return a.isSingleDoc()?a.win:a}function O(a,b){Ka(a,b);a=S(a)[b];a.obj||(a.obj=new a.ctor(a.context),a.context=null,a.resolve&&a.resolve(a.obj));return a.obj}
function La(a){var b=S(a).consentPolicyManager;if(b){if(b.promise)return b.promise;O(a,"consentPolicyManager");return b.promise=Promise.resolve(b.obj)}return null}function S(a){var b=a.__AMP_SERVICES;b||(b=a.__AMP_SERVICES={});return b}function Ka(a,b){a=a.__AMP_SERVICES&&a.__AMP_SERVICES[b];return!(!a||!a.ctor)}function Ma(){var a=new da,b=a.promise,c=a.resolve;a=a.reject;b.catch(function(){});return{obj:null,promise:b,resolve:c,reject:a,context:null,ctor:null}};function Na(a){if(a.__AMP__EXPERIMENT_TOGGLES)var b=a.__AMP__EXPERIMENT_TOGGLES;else{a.__AMP__EXPERIMENT_TOGGLES=Object.create(null);b=a.__AMP__EXPERIMENT_TOGGLES;if(a.AMP_CONFIG)for(var c in a.AMP_CONFIG){var d=a.AMP_CONFIG[c];"number"===typeof d&&0<=d&&1>=d&&(b[c]=Math.random()<d)}if(a.AMP_CONFIG&&Array.isArray(a.AMP_CONFIG["allow-doc-opt-in"])&&0<a.AMP_CONFIG["allow-doc-opt-in"].length&&(c=a.AMP_CONFIG["allow-doc-opt-in"],d=a.document.head.querySelector('meta[name="amp-experiments-opt-in"]'))){d=
d.getAttribute("content").split(",");for(var e=0;e<d.length;e++)-1!=c.indexOf(d[e])&&(b[d[e]]=!0)}c=Object;d=c.assign;e="";try{"localStorage"in a&&(e=a.localStorage.getItem("amp-experiment-toggles"))}catch(k){C().warn("EXPERIMENTS","Failed to retrieve experiments from localStorage.")}e=e?e.split(/\s*,\s*/g):[];for(var f=Object.create(null),g=0;g<e.length;g++)0!=e[g].length&&("-"==e[g][0]?f[e[g].substr(1)]=!1:f[e[g]]=!0);d.call(c,b,f);if(a.AMP_CONFIG&&Array.isArray(a.AMP_CONFIG["allow-url-opt-in"])&&
0<a.AMP_CONFIG["allow-url-opt-in"].length){c=a.AMP_CONFIG["allow-url-opt-in"];d=a.location.originalHash||a.location.hash;a=Object.create(null);if(d)for(;f=ja.exec(d);)e=ia(f[1],f[1]),f=f[2]?ia(f[2].replace(/\+/g," "),f[2]):"",a[e]=f;for(d=0;d<c.length;d++)e=a["e-"+c[d]],"1"==e&&(b[c[d]]=!0),"0"==e&&(b[c[d]]=!1)}}return!!b["iframe-messaging"]};var Oa=/vertical/,Pa=new WeakMap,T=new WeakMap,U=new WeakMap;function Sa(a,b){var c=a.ownerDocument.defaultView;if(c){var d=T.get(a);d||(d=[],T.set(a,d),Ta(c).observe(a));if(!d.some(function(f){return f.callback===b&&1===f.type})){d.push({type:1,callback:b});var e=U.get(a);e&&setTimeout(function(){return Ua(1,b,e)})}}}function Va(a,b){var c=T.get(a);c&&(x(c,function(d){return d.callback===b&&1===d.type}),0==c.length&&(T.delete(a),U.delete(a),(c=a.ownerDocument.defaultView)&&Ta(c).unobserve(a)))}
function Ta(a){var b=Pa.get(a);b||(b=new a.ResizeObserver(Wa),Pa.set(a,b));return b}function Wa(a){for(var b=new Set,c=a.length-1;0<=c;c--){var d=a[c],e=d.target;if(!b.has(e)){b.add(e);var f=T.get(e);if(f)for(U.set(e,d),e=0;e<f.length;e++){var g=f[e];Ua(g.type,g.callback,d)}}}}
function Ua(a,b,c){if(0==a){a=c.contentRect;a={width:a.width,height:a.height};try{b(a)}catch(q){ha(q)}}else if(1==a){var d=c.borderBoxSize;if(d)var e=0<d.length?d[0]:{inlineSize:0,blockSize:0};else{a=c.target;var f=Oa.test((a.ownerDocument.defaultView.getComputedStyle(a)||ya)["writing-mode"]),g=a.offsetWidth,k=a.offsetHeight;if(f){var n=g;var h=k}else h=g,n=k;e={inlineSize:h,blockSize:n}}try{b(e)}catch(q){ha(q)}}};function V(a){this.N=a;this.O=this.Y=!1;this.J=this.J.bind(this)}V.prototype.updatePlaying=function(a){a!==this.Y&&((this.Y=a)?(this.O=!1,Sa(this.N,this.J)):Va(this.N,this.J))};V.prototype.J=function(a){var b=a.blockSize,c=0<a.inlineSize&&0<b;c!==this.O&&((this.O=c)||this.N.pause())};function Xa(a){var b=La(R(a));if(b)return b;var c=Q(a);return c.whenExtensionsKnown().then(function(){var d=c.getExtensionVersion("amp-consent");return d?N(c.win,"extensions").waitForExtension("amp-consent",d):null}).then(function(d){if(d){var e=R(a);var f=La(e);f?e=f:(e=S(e),e.consentPolicyManager=Ma(),e=e.consentPolicyManager.promise)}else e=null;return e})};function Ya(a,b){return Xa(a).then(function(c){var d=y({consentMetadata:c&&c.getConsentMetadataInfo,consentString:c&&c.getConsentStringInfo,consentPolicyState:c&&c.whenPolicyResolved,consentPolicySharedData:c&&c.getMergedSharedData});return c?Promise.all(Object.keys(d).map(function(e){return d[e].call(c,b||"default").then(function(f){var g={};return g[e]=f,g})})).then(function(e){return Object.assign.apply({},e)}):d})};var Za={"AMP-FX-FLYING-CARPET":!0,"AMP-LIGHTBOX":!0,"AMP-STICKY-AD":!0,"AMP-LIGHTBOX-GALLERY":!0};var $a="allowfullscreen allowpaymentrequest allowtransparency allow frameborder referrerpolicy scrolling tabindex title".split(" "),ab=0;function W(a){a=AMP.BaseElement.call(this,a)||this;a.K=null;a.H=!1;a.S=!1;a.B=!1;a.X=!1;a.P=null;a.h=null;a.I=!1;a.F=null;a.o="";a.L=null;a.iframeSrc=null;a.D=null;a.j=null;a.W=!1;a.Z=new V(a.element);return a}var X=AMP.BaseElement;W.prototype=aa(X.prototype);W.prototype.constructor=W;
if(u)u(W,X);else for(var Y in X)if("prototype"!=Y)if(Object.defineProperties){var bb=Object.getOwnPropertyDescriptor(X,Y);bb&&Object.defineProperty(W,Y,bb)}else W[Y]=X[Y];W.da=X.prototype;l=W.prototype;l.isLayoutSupported=function(a){return"fixed"==a||"fixed-height"==a||"responsive"==a||"fill"==a||"flex-item"==a||"fluid"==a||"intrinsic"==a};
function cb(a,b,c){var d=window.location.href,e=c=void 0===c?"":c;a=a.element;var f=P(a,"url"),g=f.parse(b),k=g.hostname,n=g.protocol;g=g.origin;D(f.isSecure(b)||"data:"==n,"Invalid <amp-iframe> src. Must start with https://. Found %s",a);var h=f.parse(d);D(!/\sallow-same-origin\s/i.test(" "+e+" ")||g!=h.origin&&"data:"!=n,"Origin of <amp-iframe> must not be equal to container %s if allow-same-origin is set. See https://github.com/ampproject/amphtml/blob/main/spec/amp-iframe-origin-policy.md for details.",
a);D(!(ea(k,"."+ma.thirdPartyFrameHost)||ea(k,".ampproject.org")),"amp-iframe does not allow embedding of frames from ampproject.*: %s",b);return b}
function db(a){var b=a.element.getLayoutBox(),c=Math.min(600,.75*a.getViewport().getSize().height);D(b.top>=c,"<amp-iframe> elements must be positioned outside the first 75% of the viewport or 600px from the top (whichever is smaller): %s  Current position %s. Min: %sPositioning rules don't apply for iframes that use `placeholder`.See https://github.com/ampproject/amphtml/blob/main/extensions/amp-iframe/amp-iframe.md#iframe-with-placeholder for details.",a.element,b.top,c)}
function eb(a,b){if(b){a=P(a.element,"url").parse(b);var c=a.hash;"data:"==a.protocol||c&&"#"!=c||(a=b.indexOf("#"),b=(-1==a?b:b.substring(0,a))+"#amp=1");return b}}l.preconnectCallback=function(a){this.iframeSrc&&N(this.win,"preconnect").url(this.getAmpDoc(),this.iframeSrc,a)};
l.buildCallback=function(){this.o=this.element.getAttribute("sandbox");var a;if(!(a=eb(this,this.element.getAttribute("src"))))if(a=this.element.getAttribute("srcdoc")){D(!(" "+this.o+" ").match(/\s+allow-same-origin\s+/i),"allow-same-origin is not allowed with the srcdoc attribute %s.",this.element);if("undefined"!==typeof TextEncoder)var b=(new TextEncoder("utf-8")).encode(a);else{a=unescape(encodeURIComponent(a));b=new Uint8Array(a.length);for(var c=0;c<a.length;c++){var d=a.charCodeAt(c);b[c]=
d}}a=btoa;c=Array(b.length);for(d=0;d<b.length;d++)c[d]=String.fromCharCode(b[d]);b=c.join("");a="data:text/html;charset=utf-8;base64,"+a(b)}else a=void 0;this.iframeSrc=cb(this,a,this.o);this.K=this.getPlaceholder();this.H=!!this.K;(this.I=this.element.hasAttribute("resizable"))&&this.element.setAttribute("scrolling","no");this.element.hasAttribute("frameborder")||this.element.setAttribute("frameborder","0");a=this.element;"no"!=a.getAttribute("scrolling")&&(b=a.ownerDocument.createElement("i-amphtml-scroll-container"),
a.appendChild(b),a=b);this.D=a;fb(this)};
l.onLayoutMeasure=function(){gb(this);var a=this.element;a:{var b=a.getLayoutSize();var c=b.width;b=b.height;for(var d=0;d<K.length;d++){var e=K[d][0],f=K[d][1];if(!(f>b||e>c)&&20>=b-f&&20>=c-e){c=!0;break a}}c=!1}this.S=c;c=this.element;b=c.getLayoutSize();d=b.height;this.B=10<b.width||10<d?!1:!qa(c);if(c=this.S){c=this.win;b=!1;d=0;do Za[a.tagName]?(d++,b=!1):(e=(c.getComputedStyle(a)||ya).position,"fixed"!=e&&"sticky"!=e||(b=!0)),a=a.parentElement;while(a&&"BODY"!=a.tagName);c=!(!b&&1>=d)}this.X=
c};function gb(a){if(a.h){var b=a.getViewport().getLayoutRect(a.h),c=a.getLayoutBox();a.P=Ga(b,-c.left,-c.top)}}l.getIntersectionElementLayoutBox=function(){if(!this.h)return AMP.BaseElement.prototype.getIntersectionElementLayoutBox.call(this);var a=this.getLayoutBox();this.P||gb(this);return Ga(this.P,a.left,a.top)};
l.layoutCallback=function(){var a=this;D(!this.X,"amp-iframe is not used for displaying fixed ad. Please use amp-sticky-ad and amp-ad instead.");this.H||db(this);this.I&&D(this.getOverflowElement(),"Overflow element must be defined for resizable frames: %s",this.element);if(!this.iframeSrc)return w();if(this.B&&!this.getAmpDoc().registerSingleton(1))return console.error("Only 1 analytics/tracking iframe allowed per page. Please use amp-analytics instead or file a GitHub issue for your use case: https://github.com/ampproject/amphtml/issues/new"),
w();var b=this.element.ownerDocument.createElement("iframe");this.h=b;this.applyFillContent(b);b.name="amp_iframe"+ab++;this.H&&za(b,-1);this.propagateAttributes($a,b);var c=b.getAttribute("allow")||"";c=c.replace("autoplay","autoplay-disabled");b.setAttribute("allow",c);b.setAttribute("sandbox",this.o||"");b.src=this.iframeSrc;this.B||(this.F=new Ia(this,b));b.onload=function(){b.readyState="complete";a.V();a.B&&(a.iframeSrc=null,O(a.win,"timer").promise(5E3).then(function(){b.parentElement&&b.parentElement.removeChild(b);
a.element.setAttribute("amp-removed","");a.h=null}))};I(b,"embed-size",function(d){Z(a,d.height,d.width)},void 0,void 0,!0);this.L=ua(this.win,function(d){if(a.h&&d.source===a.h.contentWindow&&(d=d.data,"string"===typeof d&&d.startsWith("pym"))){var e=d.split(/xPYMx/);"height"===e[2]?Z(a,parseInt(e[3],10),void 0):"width"===e[2]?Z(a,void 0,parseInt(e[3],10)):B().warn("amp-iframe","Unsupported Pym.js message: "+d)}});this.H&&I(b,"embed-ready",this.V.bind(this));I(b,"send-consent-data",function(d,e,
f){hb(a,e,f)});this.D.appendChild(b);return this.loadPromise(b).then(function(){a.D!=a.element&&O(a.win,"timer").delay(function(){a.mutateElement(function(){a.D.classList.add("amp-active")})},1E3);a.Z.updatePlaying(!0)})};function hb(a,b,c){Ya(a.element,a.getConsentPolicy()).then(function(d){var e=Object.assign(y({sentinel:"amp",type:"consent-data"}),d);b.postMessage(e,c)})}
l.unlayoutCallback=function(){this.L&&(this.L(),this.L=null);if(this.h){var a=this.h;a.parentElement&&a.parentElement.removeChild(a);this.K&&this.togglePlaceholder(!0);this.h=null;this.F&&(this.F.destroy(),this.F=null)}this.Z.updatePlaying(!1);return!0};l.getLayoutPriority=function(){return this.S?2:this.B?1:AMP.BaseElement.prototype.getLayoutPriority.call(this)};
l.mutatedAttributesCallback=function(a){var b=a.src;void 0!==b&&(this.iframeSrc=eb(this,b),this.h&&(this.h.src=cb(this,this.iframeSrc,this.o)));this.h&&a.title&&this.propagateAttributes(["title"],this.h)};l.unlayoutOnPause=function(){return!0};l.V=function(){var a=this;this.K&&this.getVsync().mutate(function(){a.h&&(za(a.h,0),a.togglePlaceholder(!1))})};l.firstLayoutCompleted=function(){};
l.throwIfCannotNavigate=function(){if(!/\sallow-top-navigation\s/i.test(" "+this.o+" "))throw B().createError('"AMP.navigateTo" is only allowed on <amp-iframe> when its "sandbox" attribute contains "allow-top-navigation".');};
function Z(a,b,c){if(a.I)if(100>b)a.user().error("amp-iframe","Ignoring embed-size request because the resize height is less than 100px. If you are using amp-iframe to display ads, consider using amp-ad instead.",a.element);else{var d,e;b=parseInt(b,10);isNaN(b)||(d=Math.max(b+(a.element.offsetHeight-a.h.offsetHeight),b));c=parseInt(c,10);isNaN(c)||(e=Math.max(c+(a.element.offsetWidth-a.h.offsetWidth),c));void 0!==d||void 0!==e?a.attemptChangeSize(d,e).then(function(){void 0!==d&&a.element.setAttribute("height",
d);void 0!==e&&a.element.setAttribute("width",e);a.element.overflowCallback(!1,d,e)},function(){}):a.user().error("amp-iframe","Ignoring embed-size request because no width or height value is provided",a.element)}else a.W||(a.user().error("amp-iframe","Ignoring embed-size request because this iframe is not resizable",a.element),a.W=!0)}
function fb(a){if(Na(a.win)){var b=a.element,c=b.getAttribute("src");c&&(a.j=P(b,"url").parse(c).origin);a.registerAction("postMessage",function(f){a.j?a.h.contentWindow.postMessage(f.args,a.j):B().error("amp-iframe",'"postMessage" action is only allowed with "src"attribute with an origin.')});if(a.j){var d=0,e=function(f){if(f.source===a.h.contentWindow)if(f.origin!==a.j)B().error("amp-iframe",'"message" received from unexpected origin: '+f.origin+". Only allowed from: "+a.j);else{if(a.getAmpDoc().getRootNode().activeElement!==
a.h)var g=!1;else g=a.win.document.createElement("audio"),g.play(),g=g.paused?!1:!0;if(g){var k=f.data;try{var n=JSON.parse(JSON.stringify(k))}catch(q){B().error("amp-iframe",'Data from "message" event must be JSON.');return}var h=a.win;f=y({data:n});g={detail:f};Object.assign(g,void 0);"function"==typeof h.CustomEvent?f=new h.CustomEvent("amp-iframe:message",g):(h=h.document.createEvent("CustomEvent"),h.initCustomEvent("amp-iframe:message",!!g.bubbles,!!g.cancelable,f),f=h);P(a.element,"action").trigger(a.element,
"message",f,3)}else d++,B().error("amp-iframe",'"message" event may only be triggered from a user gesture.'),10<=d&&(B().error("amp-iframe",'Too many non-gesture-triggered "message" events; detaching event listener.'),a.win.removeEventListener("message",e))}};a.win.addEventListener("message",e)}}}l.ca=function(a){this.j=a};(function(a){a.registerElement("amp-iframe",W)})(self.AMP);
})});

//# sourceMappingURL=amp-iframe-0.1.js.map

Resolver

Resolver ASN
AS7552
Resolver IP
27.71.194.211
Resolver Network Name
<unknown>
Measurement UID
20210515035224.123467_VN_webconnectivity_a8a24fe2e23e615f
Report ID
20210515T035217Z_webconnectivity_VN_7552_n1_xplcAUcralBGNp5x
Platform
ios
Software Name
ooniprobe-ios (1.0.0)
Measurement Engine
ooniprobe-engine (0.21.0)

Raw Measurement Data

Loading…