2 lines
8.9 KiB
JavaScript
2 lines
8.9 KiB
JavaScript
import{g as y}from"./_commonjsHelpers-de833af9.js";var I={exports:{}};/*! pym.js - v1.3.2 - 2018-02-13 */(function(m){(function(d){m.exports?m.exports=d():window.pym=d.call(this)})(function(){var d="xPYMx",l={},c=function(s){var n=document.createEvent("Event");n.initEvent("pym:"+s,!0,!0),document.dispatchEvent(n)},f=function(s){var n=new RegExp("[\\?&]"+s.replace(/[\[]/,"\\[").replace(/[\]]/,"\\]")+"=([^&#]*)"),r=n.exec(location.search);return r===null?"":decodeURIComponent(r[1].replace(/\+/g," "))},p=function(s,n){if(!(n.xdomain!=="*"&&!s.origin.match(new RegExp(n.xdomain+"$")))&&typeof s.data=="string")return!0},_=function(s){var n=/^(?:(?:https?|mailto|ftp):|[^&:/?#]*(?:[/?#]|$))/gi;if(s.match(n))return!0},v=function(s,n,r){var o=["pym",s,n,r];return o.join(d)},E=function(s){var n=["pym",s,"(\\S+)","(.*)"];return new RegExp("^"+n.join(d)+"$")},w=Date.now||function(){return new Date().getTime()},M=function(s,n,r){var o,t,e,i=null,a=0;r||(r={});var h=function(){a=r.leading===!1?0:w(),i=null,e=s.apply(o,t),i||(o=t=null)};return function(){var g=w();!a&&r.leading===!1&&(a=g);var u=n-(g-a);return o=this,t=arguments,u<=0||u>n?(i&&(clearTimeout(i),i=null),a=g,e=s.apply(o,t),i||(o=t=null)):!i&&r.trailing!==!1&&(i=setTimeout(h,u)),e}},b=function(){for(var s=l.autoInitInstances.length,n=s-1;n>=0;n--){var r=l.autoInitInstances[n];r.el.getElementsByTagName("iframe").length&&r.el.getElementsByTagName("iframe")[0].contentWindow||l.autoInitInstances.splice(n,1)}};return l.autoInitInstances=[],l.autoInit=function(s){var n=document.querySelectorAll("[data-pym-src]:not([data-pym-auto-initialized])"),r=n.length;b();for(var o=0;o<r;++o){var t=n[o];t.setAttribute("data-pym-auto-initialized",""),t.id===""&&(t.id="pym-"+o+"-"+Math.random().toString(36).substr(2,5));var e=t.getAttribute("data-pym-src"),i={xdomain:"string",title:"string",name:"string",id:"string",sandbox:"string",allowfullscreen:"boolean",parenturlparam:"string",parenturlvalue:"string",optionalparams:"boolean",trackscroll:"boolean",scrollwait:"number"},a={};for(var h in i)if(t.getAttribute("data-pym-"+h)!==null)switch(i[h]){case"boolean":a[h]=t.getAttribute("data-pym-"+h)!=="false";break;case"string":a[h]=t.getAttribute("data-pym-"+h);break;case"number":var g=Number(t.getAttribute("data-pym-"+h));isNaN(g)||(a[h]=g);break;default:console.err("unrecognized attribute type")}var u=new l.Parent(t.id,e,a);l.autoInitInstances.push(u)}return s||c("pym-initialized"),l.autoInitInstances},l.Parent=function(s,n,r){this.id=s,this.url=n,this.el=document.getElementById(s),this.iframe=null,this.settings={xdomain:"*",optionalparams:!0,parenturlparam:"parentUrl",parenturlvalue:window.location.href,trackscroll:!1,scrollwait:100},this.messageRegex=E(this.id),this.messageHandlers={},r=r||{},this._constructIframe=function(){var t=this.el.offsetWidth.toString();this.iframe=document.createElement("iframe");var e="",i=this.url.indexOf("#");for(i>-1&&(e=this.url.substring(i,this.url.length),this.url=this.url.substring(0,i)),this.url.indexOf("?")<0?this.url+="?":this.url+="&",this.iframe.src=this.url+"initialWidth="+t+"&childId="+this.id,this.settings.optionalparams&&(this.iframe.src+="&parentTitle="+encodeURIComponent(document.title),this.iframe.src+="&"+this.settings.parenturlparam+"="+encodeURIComponent(this.settings.parenturlvalue)),this.iframe.src+=e,this.iframe.setAttribute("width","100%"),this.iframe.setAttribute("scrolling","no"),this.iframe.setAttribute("marginheight","0"),this.iframe.setAttribute("frameborder","0"),this.settings.title&&this.iframe.setAttribute("title",this.settings.title),this.settings.allowfullscreen!==void 0&&this.settings.allowfullscreen!==!1&&this.iframe.setAttribute("allowfullscreen",""),this.settings.sandbox!==void 0&&typeof this.settings.sandbox=="string"&&this.iframe.setAttribute("sandbox",this.settings.sandbox),this.settings.id&&(document.getElementById(this.settings.id)||this.iframe.setAttribute("id",this.settings.id)),this.settings.name&&this.iframe.setAttribute("name",this.settings.name);this.el.firstChild;)this.el.removeChild(this.el.firstChild);this.el.appendChild(this.iframe),window.addEventListener("resize",this._onResize),this.settings.trackscroll&&window.addEventListener("scroll",this._throttleOnScroll)},this._onResize=(function(){this.sendWidth(),this.settings.trackscroll&&this.sendViewportAndIFramePosition()}).bind(this),this._onScroll=(function(){this.sendViewportAndIFramePosition()}).bind(this),this._fire=function(t,e){if(t in this.messageHandlers)for(var i=0;i<this.messageHandlers[t].length;i++)this.messageHandlers[t][i].call(this,e)},this.remove=function(){window.removeEventListener("message",this._processMessage),window.removeEventListener("resize",this._onResize),this.el.removeChild(this.iframe),b()},this._processMessage=(function(t){if(p(t,this.settings)&&typeof t.data=="string"){var e=t.data.match(this.messageRegex);if(!e||e.length!==3)return!1;var i=e[1],a=e[2];this._fire(i,a)}}).bind(this),this._onHeightMessage=function(t){var e=parseInt(t);this.iframe.setAttribute("height",e+"px")},this._onNavigateToMessage=function(t){_(t)&&(document.location.href=t)},this._onScrollToChildPosMessage=function(t){var e=document.getElementById(this.id).getBoundingClientRect().top+window.pageYOffset,i=e+parseInt(t);window.scrollTo(0,i)},this.onMessage=function(t,e){t in this.messageHandlers||(this.messageHandlers[t]=[]),this.messageHandlers[t].push(e)},this.sendMessage=function(t,e){this.el.getElementsByTagName("iframe").length&&(this.el.getElementsByTagName("iframe")[0].contentWindow?this.el.getElementsByTagName("iframe")[0].contentWindow.postMessage(v(this.id,t,e),"*"):this.remove())},this.sendWidth=function(){var t=this.el.offsetWidth.toString();this.sendMessage("width",t)},this.sendViewportAndIFramePosition=function(){var t=this.iframe.getBoundingClientRect(),e=window.innerWidth||document.documentElement.clientWidth,i=window.innerHeight||document.documentElement.clientHeight,a=e+" "+i;a+=" "+t.top+" "+t.left,a+=" "+t.bottom+" "+t.right,this.sendMessage("viewport-iframe-position",a)};for(var o in r)this.settings[o]=r[o];return this._throttleOnScroll=M(this._onScroll.bind(this),this.settings.scrollwait),this.onMessage("height",this._onHeightMessage),this.onMessage("navigateTo",this._onNavigateToMessage),this.onMessage("scrollToChildPos",this._onScrollToChildPosMessage),this.onMessage("parentPositionInfo",this.sendViewportAndIFramePosition),window.addEventListener("message",this._processMessage,!1),this._constructIframe(),this},l.Child=function(s){this.parentWidth=null,this.id=null,this.parentTitle=null,this.parentUrl=null,this.settings={renderCallback:null,xdomain:"*",polling:0,parenturlparam:"parentUrl"},this.timerId=null,this.messageRegex=null,this.messageHandlers={},s=s||{},this.onMessage=function(t,e){t in this.messageHandlers||(this.messageHandlers[t]=[]),this.messageHandlers[t].push(e)},this._fire=function(t,e){if(t in this.messageHandlers)for(var i=0;i<this.messageHandlers[t].length;i++)this.messageHandlers[t][i].call(this,e)},this._processMessage=(function(t){if(p(t,this.settings)&&typeof t.data=="string"){var e=t.data.match(this.messageRegex);if(!(!e||e.length!==3)){var i=e[1],a=e[2];this._fire(i,a)}}}).bind(this),this._onWidthMessage=function(t){var e=parseInt(t);e!==this.parentWidth&&(this.parentWidth=e,this.settings.renderCallback&&this.settings.renderCallback(e),this.sendHeight())},this.sendMessage=function(t,e){window.parent.postMessage(v(this.id,t,e),"*")},this.sendHeight=(function(){var t=document.getElementsByTagName("body")[0].offsetHeight.toString();return this.sendMessage("height",t),t}).bind(this),this.getParentPositionInfo=function(){this.sendMessage("parentPositionInfo")},this.scrollParentTo=function(t){this.sendMessage("navigateTo","#"+t)},this.navigateParentTo=function(t){this.sendMessage("navigateTo",t)},this.scrollParentToChildEl=function(t){var e=document.getElementById(t).getBoundingClientRect().top+window.pageYOffset;this.scrollParentToChildPos(e)},this.scrollParentToChildPos=function(t){this.sendMessage("scrollToChildPos",t.toString())};var n=function(t){var e=document.getElementsByTagName("html")[0],i,a=e.className;try{window.self!==window.top?i="embedded":i="not-embedded"}catch{i="embedded"}a.indexOf(i)<0&&(e.className=a?a+" "+i:i,t&&t(i),c("marked-embedded"))};this.remove=function(){window.removeEventListener("message",this._processMessage),this.timerId&&clearInterval(this.timerId)};for(var r in s)this.settings[r]=s[r];this.id=f("childId")||s.id,this.messageRegex=new RegExp("^pym"+d+this.id+d+"(\\S+)"+d+"(.*)$");var o=parseInt(f("initialWidth"));return this.parentUrl=f(this.settings.parenturlparam),this.parentTitle=f("parentTitle"),this.onMessage("width",this._onWidthMessage),window.addEventListener("message",this._processMessage,!1),this.settings.renderCallback&&this.settings.renderCallback(o),this.sendHeight(),this.settings.polling&&(this.timerId=window.setInterval(this.sendHeight,this.settings.polling)),n(s.onMarkedEmbeddedStatus),this},typeof document<"u"&&l.autoInit(!0),l})})(I);var x=I.exports;const H=y(x);export{H as p};
|
|
//# sourceMappingURL=pym.v1-7344f633.js.map
|