rails-iframe-resizer 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/Gemfile +3 -0
- data/MIT-LICENSE +20 -0
- data/README.md +16 -0
- data/app/assets/javascripts/iframeResizer.contentWindow.js +578 -0
- data/app/assets/javascripts/iframeResizer.contentWindow.map +1 -0
- data/app/assets/javascripts/iframeResizer.contentWindow.min.js +9 -0
- data/app/assets/javascripts/iframeResizer.contentWindow.min.js~ +10 -0
- data/app/assets/javascripts/iframeResizer.js +460 -0
- data/app/assets/javascripts/iframeResizer.map +1 -0
- data/app/assets/javascripts/iframeResizer.min.js +8 -0
- data/app/assets/javascripts/iframeResizer.min.js~ +9 -0
- data/lib/fancybox2-rails.rb~ +3 -0
- data/lib/rails-iframe-resizer.rb +3 -0
- data/lib/rails-iframe-resizer.rb~ +3 -0
- data/lib/rails-iframe-resizer/rails.rb +2 -0
- data/lib/rails-iframe-resizer/rails.rb~ +2 -0
- data/lib/rails-iframe-resizer/rails/engine.rb +6 -0
- data/lib/rails-iframe-resizer/rails/engine.rb~ +6 -0
- data/lib/rails-iframe-resizer/rails/version.rb +6 -0
- data/lib/rails-iframe-resizer/rails/version.rb~ +5 -0
- metadata +86 -0
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"iframeResizer.min.js","sources":["iframeResizer.js"],"names":["addEventListener","obj","evt","func","window","attachEvent","setupRequestAnimationFrame","x","vendors","length","requestAnimationFrame","log","msg","settings","console","msgId","page","iFrameListener","event","resizeIFrame","resize","setSize","messageData","setPagePosition","resizedCallback","ensureInRange","syncResize","closeIFrame","iframe","iframeID","id","parentNode","removeChild","closedCallback","processMsg","data","substr","msgIdLen","split","document","getElementById","height","width","type","Dimension","max","Number","min","dimension","toLowerCase","size","Error","isMessageFromIFrame","origin","remoteHost","src","slice","join","checkOrigin","isMessageForUs","isMessageFromMetaParent","retCode","true","false","forwardMsgFromIFrame","msgBody","indexOf","msgHeaderLen","messageCallback","message","JSON","parse","checkIFrameExists","getIFramePosition","iFramePosition","getBoundingClientRect","getPagePosition","left","pagePosition","y","top","scrollRequestFromChild","addOffset","offset","actionMsg","resetIFrame","initCallback","firstRun","undefined","pageXOffset","documentElement","scrollLeft","pageYOffset","scrollTop","scrollTo","reset","trigger","setDimension","style","sizeHeight","sizeWidth","doNotSync","calleeMsg","contentWindow","postMessage","setupIFrame","setLimits","addStyle","Infinity","ensureHasId","count","setScrolling","scrolling","overflow","setupBodyMarginValues","bodyMargin","bodyMarginV1","createOutgoingMsg","interval","enablePublicMethods","autoResize","heightCalculationMethod","bodyBackground","bodyPadding","tolerance","init","fr","resetRequiredMethods","this","checkOptions","options","TypeError","createNativePublicFunction","element","tagName","toUpperCase","call","processOptions","option","defaults","hasOwnProperty","selecter","Array","prototype","forEach","querySelectorAll","createJQueryPublicMethod","$","fn","iFrameResize","extend","filter","each","end","msgHeader","scroll","bodyScroll","documentElementScroll","maxHeight","maxWidth","minHeight","minWidth","jQuery","define","amd","exports","module"],"mappings":";;;;;;;CAOC,WACG,YAwCH,SAASA,GAAiBC,EAAIC,EAAIC,GAC7B,oBAAsBC,QACzBH,EAAID,iBAAiBE,EAAIC,GAAM,GACrB,eAAiBC,SAC3BH,EAAII,YAAY,KAAKH,EAAIC,GAI3B,QAASG,KACR,GAECC,GADAC,GAAW,MAAO,SAAU,IAAK,KAIlC,KAAKD,EAAI,EAAGA,EAAIC,EAAQC,SAAWC,EAAuBH,GAAK,EAC9DG,EAAwBN,OAAOI,EAAQD,GAAK,wBAGxC,IACJI,EAAI,wCAIN,QAASA,GAAIC,GACRC,EAASF,KAA2B,gBAAZG,UAC3BA,QAAQH,IAAII,EAAQ,aAAaC,EAAK,IAAMJ,GAK9C,QAASK,GAAeC,GACvB,QAASC,KACR,QAASC,KACRC,EAAQC,GACRC,IACAV,EAASW,gBAAgBF,GAG1BG,EAAc,UACdA,EAAc,SAEdC,EAAWN,EAAOE,EAAY,aAG/B,QAASK,GAAYC,GACpB,GAAIC,GAAWD,EAAOE,EAEtBnB,GAAI,qBAAqBkB,GACzBD,EAAOG,WAAWC,YAAYJ,GAC9Bf,EAASoB,eAAeJ,GACxBlB,EAAI,OAGL,QAASuB,KACR,GAAIC,GAAOvB,EAAIwB,OAAOC,GAAUC,MAAM,IAEtC,QACCV,OAAQW,SAASC,eAAeL,EAAK,IACrCL,GAAQK,EAAK,GACbM,OAAQN,EAAK,GACbO,MAAQP,EAAK,GACbQ,KAAQR,EAAK,IAIf,QAASV,GAAcmB,GACtB,GACCC,GAAOC,OAAOjC,EAAS,MAAM+B,IAC7BG,EAAOD,OAAOjC,EAAS,MAAM+B,IAC7BI,EAAYJ,EAAUK,cACtBC,EAAOJ,OAAOxB,EAAY0B,GAE3B,IAAID,EAAIF,EACP,KAAM,IAAIM,OAAM,gBAAgBP,EAAU,+BAA+BA,EAG1EjC,GAAI,aAAaqC,EAAU,gBAAgBD,EAAI,IAAIF,GAE1CE,EAALG,IACHA,EAAKH,EACLpC,EAAI,QAAQqC,EAAU,kBAGnBE,EAAKL,IACRK,EAAKL,EACLlC,EAAI,QAAQqC,EAAU,kBAGvB1B,EAAY0B,GAAW,GAAGE,EAG3B,QAASE,KAER,GACCC,GAAanC,EAAMmC,OACnBC,EAAahC,EAAYM,OAAO2B,IAAIjB,MAAM,KAAKkB,MAAM,EAAE,GAAGC,KAAK,IAEhE,IAAI5C,EAAS6C,cACZ/C,EAAI,iCAAiC2C,GAEhC,GAAGD,GAAW,QAAYA,IAAWC,GACzC,KAAM,IAAIH,OACT,qCAAuCE,EACvC,QAAU/B,EAAYM,OAAOE,GAC7B,kBAAoBZ,EAAMiB,KAC1B,wEAKH,QAAO,EAGR,QAASwB,KACR,MAAO5C,MAAW,GAAKH,GAAKwB,OAAO,EAAEC,GAGtC,QAASuB,KAGR,GAAIC,GAAUvC,EAAYqB,QAASmB,OAAO,EAAEC,QAAQ,EAMpD,OAJIF,IACHlD,EAAI,gDAGEkD,EAGR,QAASG,KACR,GAAIC,GAAUrD,EAAIwB,OAAOxB,EAAIsD,QAAQ,KAAKC,EAAa,EAEvDxD,GAAI,qCAAsCW,EAAYM,OAAOE,GAAK,cAAgBmC,EAAU,KAC5FpD,EAASuD,iBACRxC,OAAQN,EAAYM,OACpByC,QAASC,KAAKC,MAAMN,KAErBtD,EAAI,OAGL,QAAS6D,KACR,GAAI,OAASlD,EAAYM,OACxB,KAAM,IAAIuB,OAAM,WAAW7B,EAAYQ,GAAG,uBAAyBd,EAEpE,QAAO,EAGR,QAASyD,KACR,GAAIC,GAAiBpD,EAAYM,OAAO+C,uBAIxC,OAFAC,MAGCrE,EAAGuC,OAAO4B,EAAeG,MAAQ/B,OAAOgC,EAAavE,GACrDwE,EAAGjC,OAAO4B,EAAeM,KAAQlC,OAAOgC,EAAaC,IAIvD,QAASE,GAAuBC,GAC/B,GAAIC,GAASD,EAAYT,KAAuBlE,EAAE,EAAEwE,EAAE,EAEtDpE,GAAI,+CAA+CwE,EAAO5E,EAAE,MAAM4E,EAAOJ,EAAE,KAC3ED,GACCvE,EAAGuC,OAAOxB,EAAYoB,OAASyC,EAAO5E,EACtCwE,EAAGjC,OAAOxB,EAAYmB,QAAU0C,EAAOJ,GAExCxD,IAGD,QAAS6D,KACR,OAAO9D,EAAYqB,MAClB,IAAK,QACJhB,EAAYL,EAAYM,QACxBf,EAASW,gBAAgBF,EACzB,MACD,KAAK,UACJ0C,GACA,MACD,KAAK,WACJiB,GAAuB,EACvB,MACD,KAAK,iBACJA,GAAuB,EACvB,MACD,KAAK,QACJI,EAAY/D,EACZ,MACD,KAAK,OACJH,IACAN,EAASyE,aAAahE,EAAYM,OAClC,MACD,SACCT,KAIH,GACCP,GAAMM,EAAMiB,KACZb,IAEGqC,OACHhD,EAAI,cAAcC,GAClBU,EAAcY,KAER0B,KAA6BY,KAAuBpB,MACzDgC,IACAG,GAAW,IAMd,QAASX,KACL,OAASE,IACXA,GACCvE,EAA2BiF,SAAvBpF,OAAOqF,YAA6BrF,OAAOqF,YAAclD,SAASmD,gBAAgBC,WACtFZ,EAA2BS,SAAvBpF,OAAOwF,YAA6BxF,OAAOwF,YAAcrD,SAASmD,gBAAgBG,WAEvFlF,EAAI,kBAAkBmE,EAAavE,EAAE,IAAIuE,EAAaC,IAIxD,QAASxD,KACL,OAASuD,IACX1E,OAAO0F,SAAShB,EAAavE,EAAEuE,EAAaC,GAC5CpE,EAAI,kBAAkBmE,EAAavE,EAAE,IAAIuE,EAAaC,GACtDD,EAAe,MAIjB,QAASO,GAAY/D,GACpB,QAASyE,KACR1E,EAAQC,GACR0E,EAAQ,QAAQ,QAAQ1E,EAAYM,QAGrCjB,EAAI,6BAA6B,SAASW,EAAYqB,KAAK,YAAY,WACvEiC,IACAlD,EAAWqE,EAAMzE,EAAY,QAG9B,QAASD,GAAQC,GAChB,QAAS2E,GAAajD,GACrB1B,EAAYM,OAAOsE,MAAMlD,GAAa1B,EAAY0B,GAAa,KAC/DrC,EACC,YAAcW,EAAYM,OAAOE,GACjC,KAAOkB,EACP,WAAa1B,EAAY0B,GAAa,MAIpCnC,EAASsF,YAAcF,EAAa,UACpCpF,EAASuF,WAAcH,EAAa,SAGzC,QAASvE,GAAWvB,EAAKmB,EAAY+E,GACjCA,IAAY/E,EAAYqB,MAAQjC,GAClCC,EAAI,+BACJD,EAAsBP,IAEtBA,IAIF,QAAS6F,GAAQM,EAAU1F,EAAIgB,GAC9BjB,EAAI,IAAM2F,EAAY,4BAA4B1F,EAAI,KACtDgB,EAAO2E,cAAcC,YAAazF,EAAQH,EAAK,KAIhD,QAAS6F,KACR,QAASC,KACR,QAASC,GAAST,GACZU,MAAa/F,EAASqF,IAAY,IAAMrF,EAASqF,KACrDtE,EAAOsE,MAAMA,GAASrF,EAASqF,GAAS,KACxCvF,EAAI,QAAQuF,EAAM,MAAMrF,EAASqF,GAAO,OAI1CS,EAAS,aACTA,EAAS,aACTA,EAAS,YACTA,EAAS,YAGV,QAASE,GAAYhF,GAMpB,MALI,KAAKA,IACRD,EAAOE,GAAKD,EAAW,gBAAkBiF,IACzCnG,EAAI,6BAA8BkB,EAAU,KAAOD,EAAO2B,IAAM,MAG1D1B,EAGR,QAASkF,KACRpG,EAAI,sBAAwBE,EAASmG,UAAY,UAAY,YAAc,QAAUnF,GACrFD,EAAOsE,MAAMe,UAAW,IAAUpG,EAASmG,UAAY,SAAW,OAClEpF,EAAOoF,WAAiB,IAAUnG,EAASmG,UAAY,KAAO,MAM/D,QAASE,MACH,gBAAkBrG,GAAmB,YAAO,MAAMA,EAASsG,cAC/DtG,EAASuG,aAAevG,EAASsG,WACjCtG,EAASsG,WAAe,GAAKtG,EAASsG,WAAa,MAIrD,QAASE,KACR,MAAOxF,GACN,IAAMhB,EAASuG,aACf,IAAMvG,EAASuF,UACf,IAAMvF,EAASF,IACf,IAAME,EAASyG,SACf,IAAMzG,EAAS0G,oBACf,IAAM1G,EAAS2G,WACf,IAAM3G,EAASsG,WACf,IAAMtG,EAAS4G,wBACf,IAAM5G,EAAS6G,eACf,IAAM7G,EAAS8G,YACf,IAAM9G,EAAS+G,UAGjB,QAASC,GAAKjH,GAIbZ,EAAiB4B,EAAO,OAAO,WAC9B,GAAIkG,GAAKvC,CAGTS,GAAQ,gBAAgBpF,EAAIgB,IACvBkG,GAAMjH,EAAS4G,0BAA2BM,IAC9C1C,GACCzD,OAAOA,EACPa,OAAO,EACPC,MAAM,EACNC,KAAK,WAIRqD,EAAQ,OAAOpF,EAAIgB,GAGpB,GAECA,GAAWoG,KACXnG,EAAWgF,EAAYjF,EAAOE,GAE/BiF,KACAL,IACAQ,IACAW,EAAKR,KAGN,QAASY,GAAaC,GACrB,GAAI,gBAAoBA,GACvB,KAAM,IAAIC,WAAU,6BAItB,QAASC,KACR,QAASP,GAAKQ,GACb,GAAG,WAAaA,EAAQC,QAAQC,cAC/B,KAAM,IAAIJ,WAAU,iCAAiCE,EAAQC,QAAQ,KAErE7B,GAAY+B,KAAKH,GAInB,QAASI,GAAeP,GACvBA,EAAUA,MACVD,EAAaC,EAEb,KAAK,GAAIQ,KAAUC,GACdA,EAASC,eAAeF,KAC3B7H,EAAS6H,GAAUR,EAAQU,eAAeF,GAAUR,EAAQQ,GAAUC,EAASD,IAKlF,MAAO,UAAuBR,EAAQW,GACrCJ,EAAeP,GACfY,MAAMC,UAAUC,QAAQR,KAAMjG,SAAS0G,iBAAkBJ,GAAY,UAAYhB,IAInF,QAASqB,GAAyBC,GACjCA,EAAEC,GAAGC,aAAe,SAAwBnB,GAI3C,MAHAA,GAAUA,MACVD,EAAaC,GACbrH,EAAWsI,EAAEG,UAAYX,EAAUT,GAC5BF,KAAKuB,OAAO,UAAUC,KAAM/C,GAAcgD,OAhbnD,GACC3C,GAAwB,EACxBvB,GAAwB,EACxBmE,EAAwB,UACxBvF,EAAwBuF,EAAUjJ,OAClCM,EAAwB,gBACxBsB,EAAwBtB,EAAMN,OAC9BO,EAAyB,GACzB8D,EAAwB,KACxBpE,EAAwBN,OAAOM,sBAC/BqH,GAAyBlF,IAAI,EAAE8G,OAAO,EAAEC,WAAW,EAAEC,sBAAsB,GAC3EhJ,KAEA8H,GACCnB,YAA4B,EAC5BE,eAA4B,KAC5BP,WAA4B,KAC5BC,aAA4B,EAC5BO,YAA4B,KAC5BjE,aAA4B,EAC5B6D,qBAA4B,EAC5BE,wBAA4B,SAC5BH,SAA4B,GAC5B3G,KAA4B,EAC5BmJ,UAA4BlD,IAC5BmD,SAA4BnD,IAC5BoD,UAA4B,EAC5BC,SAA4B,EAC5BjD,WAA4B,EAC5Bb,YAA4B,EAC5BC,WAA4B,EAC5BwB,UAA4B,EAC5B3F,eAA4B,aAC5BqD,aAA4B,aAC5BlB,gBAA4B,aAC5B5C,gBAA4B,aAiZ9BlB,KACAN,EAAiBI,OAAO,UAAUa,GAE9Bb,OAAO8J,QAAUhB,EAAyBgB,QAExB,kBAAXC,SAAyBA,OAAOC,IAC1CD,UAAU/B,GACmB,gBAAZiC,SACjBC,OAAOD,QAAUjC,IAEjBhI,OAAOiJ,aAAejB","sourcesContent":["/*\n * File: iframeReizer.js\n * Desc: Force iframes to size to content.\n * Requires: iframeResizer.contentWindow.js to be loaded into the target frame.\n * Author: David J. Bradshaw - dave@bradshaw.net\n * Contributor: Jure Mav - jure.mav@gmail.com\n */\n;(function() {\n 'use strict';\n\n\tvar\n\t\tcount = 0,\n\t\tfirstRun = true,\n\t\tmsgHeader = 'message',\n\t\tmsgHeaderLen = msgHeader.length,\n\t\tmsgId = '[iFrameSizer]', //Must match iframe msg ID\n\t\tmsgIdLen = msgId.length,\n\t\tpage = '', //:'+location.href, //Uncoment to debug nested iFrames\n\t\tpagePosition = null,\n\t\trequestAnimationFrame = window.requestAnimationFrame,\n\t\tresetRequiredMethods = {max:1,scroll:1,bodyScroll:1,documentElementScroll:1},\n\t\tsettings = {},\n\n\t\tdefaults = {\n\t\t\tautoResize : true,\n\t\t\tbodyBackground : null,\n\t\t\tbodyMargin : null,\n\t\t\tbodyMarginV1 : 8,\n\t\t\tbodyPadding : null,\n\t\t\tcheckOrigin : true,\n\t\t\tenablePublicMethods : false,\n\t\t\theightCalculationMethod : 'offset',\n\t\t\tinterval : 32,\n\t\t\tlog : false,\n\t\t\tmaxHeight : Infinity,\n\t\t\tmaxWidth : Infinity,\n\t\t\tminHeight : 0,\n\t\t\tminWidth : 0,\n\t\t\tscrolling : false,\n\t\t\tsizeHeight : true,\n\t\t\tsizeWidth : false,\n\t\t\ttolerance : 0,\n\t\t\tclosedCallback : function(){},\n\t\t\tinitCallback : function(){},\n\t\t\tmessageCallback : function(){},\n\t\t\tresizedCallback : function(){}\n\t\t};\n\n\tfunction addEventListener(obj,evt,func){\n\t\tif ('addEventListener' in window){\n\t\t\tobj.addEventListener(evt,func, false);\n\t\t} else if ('attachEvent' in window){//IE\n\t\t\tobj.attachEvent('on'+evt,func);\n\t\t}\n\t}\n\n\tfunction setupRequestAnimationFrame(){\n\t\tvar\n\t\t\tvendors = ['moz', 'webkit', 'o', 'ms'],\n\t\t\tx;\n\n\t\t// Remove vendor prefixing if prefixed and break early if not\n\t\tfor (x = 0; x < vendors.length && !requestAnimationFrame; x += 1) {\n\t\t\trequestAnimationFrame = window[vendors[x] + 'RequestAnimationFrame'];\n\t\t}\n\n\t\tif (!(requestAnimationFrame)){\n\t\t\tlog(' RequestAnimationFrame not supported');\n\t\t}\n\t}\n\n\tfunction log(msg){\n\t\tif (settings.log && (typeof console === 'object')){\n\t\t\tconsole.log(msgId + '[Host page'+page+']' + msg);\n\t\t}\n\t}\n\n\n\tfunction iFrameListener(event){\n\t\tfunction resizeIFrame(){\n\t\t\tfunction resize(){\n\t\t\t\tsetSize(messageData);\n\t\t\t\tsetPagePosition();\n\t\t\t\tsettings.resizedCallback(messageData);\n\t\t\t}\n\n\t\t\tensureInRange('Height');\n\t\t\tensureInRange('Width');\n\t\t\t\n\t\t\tsyncResize(resize,messageData,'resetPage');\n\t\t}\n\n\t\tfunction closeIFrame(iframe){\n\t\t\tvar iframeID = iframe.id;\n\n\t\t\tlog(' Removing iFrame: '+iframeID);\n\t\t\tiframe.parentNode.removeChild(iframe);\n\t\t\tsettings.closedCallback(iframeID);\n\t\t\tlog(' --');\n\t\t}\n\n\t\tfunction processMsg(){\n\t\t\tvar data = msg.substr(msgIdLen).split(':');\n\n\t\t\treturn {\n\t\t\t\tiframe: document.getElementById(data[0]),\n\t\t\t\tid: data[0],\n\t\t\t\theight: data[1],\n\t\t\t\twidth: data[2],\n\t\t\t\ttype: data[3]\n\t\t\t};\n\t\t}\n\n\t\tfunction ensureInRange(Dimension){\n\t\t\tvar\n\t\t\t\tmax = Number(settings['max'+Dimension]),\n\t\t\t\tmin = Number(settings['min'+Dimension]),\n\t\t\t\tdimension = Dimension.toLowerCase(),\n\t\t\t\tsize = Number(messageData[dimension]);\n\n\t\t\tif (min>max){\n\t\t\t\tthrow new Error('Value for min'+Dimension+' can not be greater than max'+Dimension);\n\t\t\t}\n\n\t\t\tlog(' Checking '+dimension+' is in range '+min+'-'+max);\n\n\t\t\tif (size<min) {\n\t\t\t\tsize=min;\n\t\t\t\tlog(' Set '+dimension+' to min value');\n\t\t\t}\n\n\t\t\tif (size>max) {\n\t\t\t\tsize=max;\n\t\t\t\tlog(' Set '+dimension+' to max value');\n\t\t\t}\n\n\t\t\tmessageData[dimension]=''+size;\n\t\t}\n\n\t\tfunction isMessageFromIFrame(){\n\n\t\t\tvar\n\t\t\t\torigin = event.origin,\n\t\t\t\tremoteHost = messageData.iframe.src.split('/').slice(0,3).join('/');\n\n\t\t\tif (settings.checkOrigin) {\n\t\t\t\tlog(' Checking connection is from: '+remoteHost);\n\n\t\t\t\tif ((''+origin !== 'null') && (origin !== remoteHost)) {\n\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t'Unexpected message received from: ' + origin +\n\t\t\t\t\t\t' for ' + messageData.iframe.id +\n\t\t\t\t\t\t'. Message was: ' + event.data +\n\t\t\t\t\t\t'. This error can be disabled by adding the checkOrigin: false option.'\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn true;\n\t\t}\n\n\t\tfunction isMessageForUs(){\n\t\t\treturn msgId === ('' + msg).substr(0,msgIdLen); //''+Protects against non-string msg\n\t\t}\n\n\t\tfunction isMessageFromMetaParent(){\n\t\t\t//test if this message is from a parent above us. This is an ugly test, however, updating\n\t\t\t//the message format would break backwards compatibity.\n\t\t\tvar retCode = messageData.type in {'true':1,'false':1};\n\n\t\t\tif (retCode){\n\t\t\t\tlog(' Ignoring init message from meta parent page');\n\t\t\t}\n\n\t\t\treturn retCode;\n\t\t}\n\n\t\tfunction forwardMsgFromIFrame(){\n\t\t\tvar msgBody = msg.substr(msg.indexOf(':')+msgHeaderLen+6); //6 === ':0:0:' + ':' (Ideas to name this magic number most welcome)\n\n\t\t\tlog(' MessageCallback passed: {iframe: '+ messageData.iframe.id + ', message: ' + msgBody + '}');\n\t\t\tsettings.messageCallback({\n\t\t\t\tiframe: messageData.iframe,\n\t\t\t\tmessage: JSON.parse(msgBody)\n\t\t\t});\n\t\t\tlog(' --');\n\t\t}\n\n\t\tfunction checkIFrameExists(){\n\t\t\tif (null === messageData.iframe) {\n\t\t\t\tthrow new Error('iFrame ('+messageData.id+') does not exist on ' + page);\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\n\t\tfunction getIFramePosition(){\n\t\t\tvar iFramePosition = messageData.iframe.getBoundingClientRect();\n\n\t\t\tgetPagePosition();\n\n\t\t\treturn {\n\t\t\t\tx: Number(iFramePosition.left) + Number(pagePosition.x),\n\t\t\t\ty: Number(iFramePosition.top) + Number(pagePosition.y)\n\t\t\t};\n\t\t}\n\n\t\tfunction scrollRequestFromChild(addOffset){\n\t\t\tvar offset = addOffset ? getIFramePosition() : {x:0,y:0};\n\n\t\t\tlog(' Reposition requested from iFrame (offset x:'+offset.x+' y:'+offset.y+')');\n\t\t\tpagePosition = {\n\t\t\t\tx: Number(messageData.width) + offset.x,\n\t\t\t\ty: Number(messageData.height) + offset.y\n\t\t\t};\n\t\t\tsetPagePosition();\n\t\t}\n\n\t\tfunction actionMsg(){\n\t\t\tswitch(messageData.type){\n\t\t\t\tcase 'close':\n\t\t\t\t\tcloseIFrame(messageData.iframe);\n\t\t\t\t\tsettings.resizedCallback(messageData); //To be removed.\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'message':\n\t\t\t\t\tforwardMsgFromIFrame();\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'scrollTo':\n\t\t\t\t\tscrollRequestFromChild(false);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'scrollToOffset':\n\t\t\t\t\tscrollRequestFromChild(true);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'reset':\n\t\t\t\t\tresetIFrame(messageData);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'init':\n\t\t\t\t\tresizeIFrame();\n\t\t\t\t\tsettings.initCallback(messageData.iframe);\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tresizeIFrame();\n\t\t\t}\n\t\t}\n\n\t\tvar\n\t\t\tmsg = event.data,\n\t\t\tmessageData = {};\n\n\t\tif (isMessageForUs()){\n\t\t\tlog(' Received: '+msg);\n\t\t\tmessageData = processMsg();\n\n\t\t\tif ( !isMessageFromMetaParent() && checkIFrameExists() && isMessageFromIFrame() ){\n\t\t\t\tactionMsg();\n\t\t\t\tfirstRun = false;\n\t\t\t}\n\t\t}\n\t}\n\n\n\tfunction getPagePosition (){\n\t\tif(null === pagePosition){\n\t\t\tpagePosition = {\n\t\t\t\tx: (window.pageXOffset !== undefined) ? window.pageXOffset : document.documentElement.scrollLeft,\n\t\t\t\ty: (window.pageYOffset !== undefined) ? window.pageYOffset : document.documentElement.scrollTop\n\t\t\t};\n\t\t\tlog(' Get position: '+pagePosition.x+','+pagePosition.y);\n\t\t}\n\t}\n\n\tfunction setPagePosition(){\n\t\tif(null !== pagePosition){\n\t\t\twindow.scrollTo(pagePosition.x,pagePosition.y);\n\t\t\tlog(' Set position: '+pagePosition.x+','+pagePosition.y);\n\t\t\tpagePosition = null;\n\t\t}\n\t}\n\n\tfunction resetIFrame(messageData){\n\t\tfunction reset(){\n\t\t\tsetSize(messageData);\n\t\t\ttrigger('reset','reset',messageData.iframe);\n\t\t}\n\n\t\tlog(' Size reset requested by '+('init'===messageData.type?'host page':'iFrame'));\n\t\tgetPagePosition();\n\t\tsyncResize(reset,messageData,'init');\n\t}\n\n\tfunction setSize(messageData){\n\t\tfunction setDimension(dimension){\n\t\t\tmessageData.iframe.style[dimension] = messageData[dimension] + 'px';\n\t\t\tlog(\n\t\t\t\t' IFrame (' + messageData.iframe.id +\n\t\t\t\t') ' + dimension +\n\t\t\t\t' set to ' + messageData[dimension] + 'px'\n\t\t\t);\n\t\t}\n\n\t\tif( settings.sizeHeight) { setDimension('height'); }\n\t\tif( settings.sizeWidth ) { setDimension('width'); }\n\t}\n\n\tfunction syncResize(func,messageData,doNotSync){\n\t\tif(doNotSync!==messageData.type && requestAnimationFrame){\n\t\t\tlog(' Requesting animation frame');\n\t\t\trequestAnimationFrame(func);\n\t\t} else {\n\t\t\tfunc();\n\t\t}\n\t}\n\n\tfunction trigger(calleeMsg,msg,iframe){\n\t\tlog('[' + calleeMsg + '] Sending msg to iframe ('+msg+')');\n\t\tiframe.contentWindow.postMessage( msgId + msg, '*' );\n\t}\n\n\n\tfunction setupIFrame(){\n\t\tfunction setLimits(){\n\t\t\tfunction addStyle(style){\n\t\t\t\tif ((Infinity !== settings[style]) && (0 !== settings[style])){\n\t\t\t\t\tiframe.style[style] = settings[style] + 'px';\n\t\t\t\t\tlog(' Set '+style+' = '+settings[style]+'px');\n\t\t\t\t}\n\t\t\t}\n\n\t\t\taddStyle('maxHeight');\n\t\t\taddStyle('minHeight');\n\t\t\taddStyle('maxWidth');\n\t\t\taddStyle('minWidth');\n\t\t}\n\n\t\tfunction ensureHasId(iframeID){\n\t\t\tif (''===iframeID){\n\t\t\t\tiframe.id = iframeID = 'iFrameResizer' + count++;\n\t\t\t\tlog(' Added missing iframe ID: '+ iframeID +' (' + iframe.src + ')');\n\t\t\t}\n\n\t\t\treturn iframeID;\n\t\t}\n\n\t\tfunction setScrolling(){\n\t\t\tlog(' IFrame scrolling ' + (settings.scrolling ? 'enabled' : 'disabled') + ' for ' + iframeID);\n\t\t\tiframe.style.overflow = false === settings.scrolling ? 'hidden' : 'auto';\n\t\t\tiframe.scrolling = false === settings.scrolling ? 'no' : 'yes';\n\t\t}\n\n\t\t//The V1 iFrame script expects an int, where as in V2 expects a CSS\n\t\t//string value such as '1px 3em', so if we have an int for V2, set V1=V2\n\t\t//and then convert V2 to a string PX value.\n\t\tfunction setupBodyMarginValues(){\n\t\t\tif (('number'===typeof(settings.bodyMargin)) || ('0'===settings.bodyMargin)){\n\t\t\t\tsettings.bodyMarginV1 = settings.bodyMargin;\n\t\t\t\tsettings.bodyMargin = '' + settings.bodyMargin + 'px';\n\t\t\t}\n\t\t}\n\n\t\tfunction createOutgoingMsg(){\n\t\t\treturn iframeID +\n\t\t\t\t':' + settings.bodyMarginV1 +\n\t\t\t\t':' + settings.sizeWidth +\n\t\t\t\t':' + settings.log +\n\t\t\t\t':' + settings.interval +\n\t\t\t\t':' + settings.enablePublicMethods +\n\t\t\t\t':' + settings.autoResize +\n\t\t\t\t':' + settings.bodyMargin +\n\t\t\t\t':' + settings.heightCalculationMethod +\n\t\t\t\t':' + settings.bodyBackground +\n\t\t\t\t':' + settings.bodyPadding +\n\t\t\t\t':' + settings.tolerance;\n\t\t}\n\n\t\tfunction init(msg){\n\t\t\t//We have to call trigger twice, as we can not be sure if all\n\t\t\t//iframes have completed loading when this code runs. The\n\t\t\t//event listener also catches the page changing in the iFrame.\n\t\t\taddEventListener(iframe,'load',function(){\n\t\t\t\tvar fr = firstRun; // Reduce scope of var to function, because IE8's JS execution\n // context stack is borked and this value gets externally\n // changed midway through running this function.\n\t\t\t\ttrigger('iFrame.onload',msg,iframe);\n\t\t\t\tif (!fr && settings.heightCalculationMethod in resetRequiredMethods){\n\t\t\t\t\tresetIFrame({\n\t\t\t\t\t\tiframe:iframe,\n\t\t\t\t\t\theight:0,\n\t\t\t\t\t\twidth:0,\n\t\t\t\t\t\ttype:'init'\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t});\n\t\t\ttrigger('init',msg,iframe);\n\t\t}\n\n\t\tvar\n /*jshint validthis:true */\n\t\t\tiframe = this,\n\t\t\tiframeID = ensureHasId(iframe.id);\n\n\t\tsetScrolling();\n\t\tsetLimits();\n\t\tsetupBodyMarginValues();\n\t\tinit(createOutgoingMsg());\n\t}\n\n\tfunction checkOptions(options){\n\t\tif ('object' !== typeof options){\n\t\t\tthrow new TypeError('Options is not an object.');\n\t\t}\n\t}\n\n\tfunction createNativePublicFunction(){\n\t\tfunction init(element){\n\t\t\tif('IFRAME' !== element.tagName.toUpperCase()) {\n\t\t\t\tthrow new TypeError('Expected <IFRAME> tag, found <'+element.tagName+'>.');\n\t\t\t} else {\n\t\t\t\tsetupIFrame.call(element);\n\t\t\t}\n\t\t}\n\n\t\tfunction processOptions(options){\n\t\t\toptions = options || {};\n\t\t\tcheckOptions(options);\n\n\t\t\tfor (var option in defaults) {\n\t\t\t\tif (defaults.hasOwnProperty(option)){\n\t\t\t\t\tsettings[option] = options.hasOwnProperty(option) ? options[option] : defaults[option];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn function iFrameResizeF(options,selecter){\n\t\t\tprocessOptions(options);\n\t\t\tArray.prototype.forEach.call( document.querySelectorAll( selecter || 'iframe' ), init );\n\t\t};\n\t}\n\n\tfunction createJQueryPublicMethod($){\n\t\t$.fn.iFrameResize = function $iFrameResizeF(options) {\n\t\t\toptions = options || {};\n\t\t\tcheckOptions(options);\n\t\t\tsettings = $.extend( {}, defaults, options );\n\t\t\treturn this.filter('iframe').each( setupIFrame ).end();\n\t\t};\n\t}\n\n\tsetupRequestAnimationFrame();\n\taddEventListener(window,'message',iFrameListener);\n\n\tif (window.jQuery) { createJQueryPublicMethod(jQuery); }\n\n\tif (typeof define === 'function' && define.amd) {\n\t\tdefine([],createNativePublicFunction);\n\t} else if (typeof exports === 'object') { //Node for browserfy\n\t\tmodule.exports = createNativePublicFunction();\n\t} else {\n\t\twindow.iFrameResize = createNativePublicFunction();\n\t}\n\n})();\n"]}
|
@@ -0,0 +1,8 @@
|
|
1
|
+
/*! iFrame Resizer (iframeSizer.min.js ) - v2.7.1 - 2014-12-12
|
2
|
+
* Desc: Force cross domain iframes to size to content.
|
3
|
+
* Requires: iframeResizer.contentWindow.min.js to be loaded into the target frame.
|
4
|
+
* Copyright: (c) 2014 David J. Bradshaw - dave@bradshaw.net
|
5
|
+
* License: MIT
|
6
|
+
*/
|
7
|
+
|
8
|
+
!function(){"use strict";function a(a,b,c){"addEventListener"in window?a.addEventListener(b,c,!1):"attachEvent"in window&&a.attachEvent("on"+b,c)}function b(){var a,b=["moz","webkit","o","ms"];for(a=0;a<b.length&&!w;a+=1)w=window[b[a]+"RequestAnimationFrame"];w||c(" RequestAnimationFrame not supported")}function c(a){y.log&&"object"==typeof console&&console.log(s+"[Host page"+u+"]"+a)}function d(a){function b(){function a(){h(B),f(),y.resizedCallback(B)}k("Height"),k("Width"),i(a,B,"resetPage")}function d(a){var b=a.id;c(" Removing iFrame: "+b),a.parentNode.removeChild(a),y.closedCallback(b),c(" --")}function j(){var a=A.substr(t).split(":");return{iframe:document.getElementById(a[0]),id:a[0],height:a[1],width:a[2],type:a[3]}}function k(a){var b=Number(y["max"+a]),d=Number(y["min"+a]),e=a.toLowerCase(),f=Number(B[e]);if(d>b)throw new Error("Value for min"+a+" can not be greater than max"+a);c(" Checking "+e+" is in range "+d+"-"+b),d>f&&(f=d,c(" Set "+e+" to min value")),f>b&&(f=b,c(" Set "+e+" to max value")),B[e]=""+f}function l(){var b=a.origin,d=B.iframe.src.split("/").slice(0,3).join("/");if(y.checkOrigin&&(c(" Checking connection is from: "+d),""+b!="null"&&b!==d))throw new Error("Unexpected message received from: "+b+" for "+B.iframe.id+". Message was: "+a.data+". This error can be disabled by adding the checkOrigin: false option.");return!0}function m(){return s===(""+A).substr(0,t)}function n(){var a=B.type in{"true":1,"false":1};return a&&c(" Ignoring init message from meta parent page"),a}function o(){var a=A.substr(A.indexOf(":")+r+6);c(" MessageCallback passed: {iframe: "+B.iframe.id+", message: "+a+"}"),y.messageCallback({iframe:B.iframe,message:JSON.parse(a)}),c(" --")}function q(){if(null===B.iframe)throw new Error("iFrame ("+B.id+") does not exist on "+u);return!0}function w(){var a=B.iframe.getBoundingClientRect();return e(),{x:Number(a.left)+Number(v.x),y:Number(a.top)+Number(v.y)}}function x(a){var b=a?w():{x:0,y:0};c(" Reposition requested from iFrame (offset x:"+b.x+" y:"+b.y+")"),v={x:Number(B.width)+b.x,y:Number(B.height)+b.y},f()}function z(){switch(B.type){case"close":d(B.iframe),y.resizedCallback(B);break;case"message":o();break;case"scrollTo":x(!1);break;case"scrollToOffset":x(!0);break;case"reset":g(B);break;case"init":b(),y.initCallback(B.iframe);break;default:b()}}var A=a.data,B={};m()&&(c(" Received: "+A),B=j(),!n()&&q()&&l()&&(z(),p=!1))}function e(){null===v&&(v={x:void 0!==window.pageXOffset?window.pageXOffset:document.documentElement.scrollLeft,y:void 0!==window.pageYOffset?window.pageYOffset:document.documentElement.scrollTop},c(" Get position: "+v.x+","+v.y))}function f(){null!==v&&(window.scrollTo(v.x,v.y),c(" Set position: "+v.x+","+v.y),v=null)}function g(a){function b(){h(a),j("reset","reset",a.iframe)}c(" Size reset requested by "+("init"===a.type?"host page":"iFrame")),e(),i(b,a,"init")}function h(a){function b(b){a.iframe.style[b]=a[b]+"px",c(" IFrame ("+a.iframe.id+") "+b+" set to "+a[b]+"px")}y.sizeHeight&&b("height"),y.sizeWidth&&b("width")}function i(a,b,d){d!==b.type&&w?(c(" Requesting animation frame"),w(a)):a()}function j(a,b,d){c("["+a+"] Sending msg to iframe ("+b+")"),d.contentWindow.postMessage(s+b,"*")}function k(){function b(){function a(a){1/0!==y[a]&&0!==y[a]&&(k.style[a]=y[a]+"px",c(" Set "+a+" = "+y[a]+"px"))}a("maxHeight"),a("minHeight"),a("maxWidth"),a("minWidth")}function d(a){return""===a&&(k.id=a="iFrameResizer"+o++,c(" Added missing iframe ID: "+a+" ("+k.src+")")),a}function e(){c(" IFrame scrolling "+(y.scrolling?"enabled":"disabled")+" for "+l),k.style.overflow=!1===y.scrolling?"hidden":"auto",k.scrolling=!1===y.scrolling?"no":"yes"}function f(){("number"==typeof y.bodyMargin||"0"===y.bodyMargin)&&(y.bodyMarginV1=y.bodyMargin,y.bodyMargin=""+y.bodyMargin+"px")}function h(){return l+":"+y.bodyMarginV1+":"+y.sizeWidth+":"+y.log+":"+y.interval+":"+y.enablePublicMethods+":"+y.autoResize+":"+y.bodyMargin+":"+y.heightCalculationMethod+":"+y.bodyBackground+":"+y.bodyPadding+":"+y.tolerance}function i(b){a(k,"load",function(){var a=p;j("iFrame.onload",b,k),!a&&y.heightCalculationMethod in x&&g({iframe:k,height:0,width:0,type:"init"})}),j("init",b,k)}var k=this,l=d(k.id);e(),b(),f(),i(h())}function l(a){if("object"!=typeof a)throw new TypeError("Options is not an object.")}function m(){function a(a){if("IFRAME"!==a.tagName.toUpperCase())throw new TypeError("Expected <IFRAME> tag, found <"+a.tagName+">.");k.call(a)}function b(a){a=a||{},l(a);for(var b in z)z.hasOwnProperty(b)&&(y[b]=a.hasOwnProperty(b)?a[b]:z[b])}return function(c,d){b(c),Array.prototype.forEach.call(document.querySelectorAll(d||"iframe"),a)}}function n(a){a.fn.iFrameResize=function(b){return b=b||{},l(b),y=a.extend({},z,b),this.filter("iframe").each(k).end()}}var o=0,p=!0,q="message",r=q.length,s="[iFrameSizer]",t=s.length,u="",v=null,w=window.requestAnimationFrame,x={max:1,scroll:1,bodyScroll:1,documentElementScroll:1},y={},z={autoResize:!0,bodyBackground:null,bodyMargin:null,bodyMarginV1:8,bodyPadding:null,checkOrigin:!0,enablePublicMethods:!1,heightCalculationMethod:"offset",interval:32,log:!1,maxHeight:1/0,maxWidth:1/0,minHeight:0,minWidth:0,scrolling:!1,sizeHeight:!0,sizeWidth:!1,tolerance:0,closedCallback:function(){},initCallback:function(){},messageCallback:function(){},resizedCallback:function(){}};b(),a(window,"message",d),window.jQuery&&n(jQuery),"function"==typeof define&&define.amd?define([],m):"object"==typeof exports?module.exports=m():window.iFrameResize=m()}();
|
@@ -0,0 +1,9 @@
|
|
1
|
+
/*! iFrame Resizer (iframeSizer.min.js ) - v2.7.1 - 2014-12-12
|
2
|
+
* Desc: Force cross domain iframes to size to content.
|
3
|
+
* Requires: iframeResizer.contentWindow.min.js to be loaded into the target frame.
|
4
|
+
* Copyright: (c) 2014 David J. Bradshaw - dave@bradshaw.net
|
5
|
+
* License: MIT
|
6
|
+
*/
|
7
|
+
|
8
|
+
!function(){"use strict";function a(a,b,c){"addEventListener"in window?a.addEventListener(b,c,!1):"attachEvent"in window&&a.attachEvent("on"+b,c)}function b(){var a,b=["moz","webkit","o","ms"];for(a=0;a<b.length&&!w;a+=1)w=window[b[a]+"RequestAnimationFrame"];w||c(" RequestAnimationFrame not supported")}function c(a){y.log&&"object"==typeof console&&console.log(s+"[Host page"+u+"]"+a)}function d(a){function b(){function a(){h(B),f(),y.resizedCallback(B)}k("Height"),k("Width"),i(a,B,"resetPage")}function d(a){var b=a.id;c(" Removing iFrame: "+b),a.parentNode.removeChild(a),y.closedCallback(b),c(" --")}function j(){var a=A.substr(t).split(":");return{iframe:document.getElementById(a[0]),id:a[0],height:a[1],width:a[2],type:a[3]}}function k(a){var b=Number(y["max"+a]),d=Number(y["min"+a]),e=a.toLowerCase(),f=Number(B[e]);if(d>b)throw new Error("Value for min"+a+" can not be greater than max"+a);c(" Checking "+e+" is in range "+d+"-"+b),d>f&&(f=d,c(" Set "+e+" to min value")),f>b&&(f=b,c(" Set "+e+" to max value")),B[e]=""+f}function l(){var b=a.origin,d=B.iframe.src.split("/").slice(0,3).join("/");if(y.checkOrigin&&(c(" Checking connection is from: "+d),""+b!="null"&&b!==d))throw new Error("Unexpected message received from: "+b+" for "+B.iframe.id+". Message was: "+a.data+". This error can be disabled by adding the checkOrigin: false option.");return!0}function m(){return s===(""+A).substr(0,t)}function n(){var a=B.type in{"true":1,"false":1};return a&&c(" Ignoring init message from meta parent page"),a}function o(){var a=A.substr(A.indexOf(":")+r+6);c(" MessageCallback passed: {iframe: "+B.iframe.id+", message: "+a+"}"),y.messageCallback({iframe:B.iframe,message:JSON.parse(a)}),c(" --")}function q(){if(null===B.iframe)throw new Error("iFrame ("+B.id+") does not exist on "+u);return!0}function w(){var a=B.iframe.getBoundingClientRect();return e(),{x:Number(a.left)+Number(v.x),y:Number(a.top)+Number(v.y)}}function x(a){var b=a?w():{x:0,y:0};c(" Reposition requested from iFrame (offset x:"+b.x+" y:"+b.y+")"),v={x:Number(B.width)+b.x,y:Number(B.height)+b.y},f()}function z(){switch(B.type){case"close":d(B.iframe),y.resizedCallback(B);break;case"message":o();break;case"scrollTo":x(!1);break;case"scrollToOffset":x(!0);break;case"reset":g(B);break;case"init":b(),y.initCallback(B.iframe);break;default:b()}}var A=a.data,B={};m()&&(c(" Received: "+A),B=j(),!n()&&q()&&l()&&(z(),p=!1))}function e(){null===v&&(v={x:void 0!==window.pageXOffset?window.pageXOffset:document.documentElement.scrollLeft,y:void 0!==window.pageYOffset?window.pageYOffset:document.documentElement.scrollTop},c(" Get position: "+v.x+","+v.y))}function f(){null!==v&&(window.scrollTo(v.x,v.y),c(" Set position: "+v.x+","+v.y),v=null)}function g(a){function b(){h(a),j("reset","reset",a.iframe)}c(" Size reset requested by "+("init"===a.type?"host page":"iFrame")),e(),i(b,a,"init")}function h(a){function b(b){a.iframe.style[b]=a[b]+"px",c(" IFrame ("+a.iframe.id+") "+b+" set to "+a[b]+"px")}y.sizeHeight&&b("height"),y.sizeWidth&&b("width")}function i(a,b,d){d!==b.type&&w?(c(" Requesting animation frame"),w(a)):a()}function j(a,b,d){c("["+a+"] Sending msg to iframe ("+b+")"),d.contentWindow.postMessage(s+b,"*")}function k(){function b(){function a(a){1/0!==y[a]&&0!==y[a]&&(k.style[a]=y[a]+"px",c(" Set "+a+" = "+y[a]+"px"))}a("maxHeight"),a("minHeight"),a("maxWidth"),a("minWidth")}function d(a){return""===a&&(k.id=a="iFrameResizer"+o++,c(" Added missing iframe ID: "+a+" ("+k.src+")")),a}function e(){c(" IFrame scrolling "+(y.scrolling?"enabled":"disabled")+" for "+l),k.style.overflow=!1===y.scrolling?"hidden":"auto",k.scrolling=!1===y.scrolling?"no":"yes"}function f(){("number"==typeof y.bodyMargin||"0"===y.bodyMargin)&&(y.bodyMarginV1=y.bodyMargin,y.bodyMargin=""+y.bodyMargin+"px")}function h(){return l+":"+y.bodyMarginV1+":"+y.sizeWidth+":"+y.log+":"+y.interval+":"+y.enablePublicMethods+":"+y.autoResize+":"+y.bodyMargin+":"+y.heightCalculationMethod+":"+y.bodyBackground+":"+y.bodyPadding+":"+y.tolerance}function i(b){a(k,"load",function(){var a=p;j("iFrame.onload",b,k),!a&&y.heightCalculationMethod in x&&g({iframe:k,height:0,width:0,type:"init"})}),j("init",b,k)}var k=this,l=d(k.id);e(),b(),f(),i(h())}function l(a){if("object"!=typeof a)throw new TypeError("Options is not an object.")}function m(){function a(a){if("IFRAME"!==a.tagName.toUpperCase())throw new TypeError("Expected <IFRAME> tag, found <"+a.tagName+">.");k.call(a)}function b(a){a=a||{},l(a);for(var b in z)z.hasOwnProperty(b)&&(y[b]=a.hasOwnProperty(b)?a[b]:z[b])}return function(c,d){b(c),Array.prototype.forEach.call(document.querySelectorAll(d||"iframe"),a)}}function n(a){a.fn.iFrameResize=function(b){return b=b||{},l(b),y=a.extend({},z,b),this.filter("iframe").each(k).end()}}var o=0,p=!0,q="message",r=q.length,s="[iFrameSizer]",t=s.length,u="",v=null,w=window.requestAnimationFrame,x={max:1,scroll:1,bodyScroll:1,documentElementScroll:1},y={},z={autoResize:!0,bodyBackground:null,bodyMargin:null,bodyMarginV1:8,bodyPadding:null,checkOrigin:!0,enablePublicMethods:!1,heightCalculationMethod:"offset",interval:32,log:!1,maxHeight:1/0,maxWidth:1/0,minHeight:0,minWidth:0,scrolling:!1,sizeHeight:!0,sizeWidth:!1,tolerance:0,closedCallback:function(){},initCallback:function(){},messageCallback:function(){},resizedCallback:function(){}};b(),a(window,"message",d),window.jQuery&&n(jQuery),"function"==typeof define&&define.amd?define([],m):"object"==typeof exports?module.exports=m():window.iFrameResize=m()}();
|
9
|
+
//# sourceMappingURL=../src/iframeResizer.map
|
metadata
ADDED
@@ -0,0 +1,86 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: rails-iframe-resizer
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- James Lin
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2014-12-18 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: railties
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: 3.1.0
|
20
|
+
- - "<"
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: '5.0'
|
23
|
+
type: :runtime
|
24
|
+
prerelease: false
|
25
|
+
version_requirements: !ruby/object:Gem::Requirement
|
26
|
+
requirements:
|
27
|
+
- - ">="
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: 3.1.0
|
30
|
+
- - "<"
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: '5.0'
|
33
|
+
description: iframe-resizer js package for rails
|
34
|
+
email:
|
35
|
+
- linjunhalida@gmail.com
|
36
|
+
executables: []
|
37
|
+
extensions: []
|
38
|
+
extra_rdoc_files: []
|
39
|
+
files:
|
40
|
+
- Gemfile
|
41
|
+
- MIT-LICENSE
|
42
|
+
- README.md
|
43
|
+
- app/assets/javascripts/iframeResizer.contentWindow.js
|
44
|
+
- app/assets/javascripts/iframeResizer.contentWindow.map
|
45
|
+
- app/assets/javascripts/iframeResizer.contentWindow.min.js
|
46
|
+
- app/assets/javascripts/iframeResizer.contentWindow.min.js~
|
47
|
+
- app/assets/javascripts/iframeResizer.js
|
48
|
+
- app/assets/javascripts/iframeResizer.map
|
49
|
+
- app/assets/javascripts/iframeResizer.min.js
|
50
|
+
- app/assets/javascripts/iframeResizer.min.js~
|
51
|
+
- lib/fancybox2-rails.rb~
|
52
|
+
- lib/rails-iframe-resizer.rb
|
53
|
+
- lib/rails-iframe-resizer.rb~
|
54
|
+
- lib/rails-iframe-resizer/rails.rb
|
55
|
+
- lib/rails-iframe-resizer/rails.rb~
|
56
|
+
- lib/rails-iframe-resizer/rails/engine.rb
|
57
|
+
- lib/rails-iframe-resizer/rails/engine.rb~
|
58
|
+
- lib/rails-iframe-resizer/rails/version.rb
|
59
|
+
- lib/rails-iframe-resizer/rails/version.rb~
|
60
|
+
homepage: https://github.com/halida/rails-iframe-resizer
|
61
|
+
licenses:
|
62
|
+
- MIT
|
63
|
+
- Creative Commons by-nc
|
64
|
+
metadata: {}
|
65
|
+
post_install_message:
|
66
|
+
rdoc_options: []
|
67
|
+
require_paths:
|
68
|
+
- lib
|
69
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
70
|
+
requirements:
|
71
|
+
- - ">="
|
72
|
+
- !ruby/object:Gem::Version
|
73
|
+
version: '0'
|
74
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
75
|
+
requirements:
|
76
|
+
- - ">="
|
77
|
+
- !ruby/object:Gem::Version
|
78
|
+
version: '0'
|
79
|
+
requirements: []
|
80
|
+
rubyforge_project:
|
81
|
+
rubygems_version: 2.4.4
|
82
|
+
signing_key:
|
83
|
+
specification_version: 4
|
84
|
+
summary: iframe-resizer js package for rails
|
85
|
+
test_files: []
|
86
|
+
has_rdoc:
|