Plugin Directory

Changeset 1176741


Ignore:
Timestamp:
06/08/2015 02:00:24 PM (11 years ago)
Author:
thyagotc
Message:

Updated iFrame Resizer script to version 2.8.6 (2015-04-06) and enabled public methods

Location:
beeliked-microsite/trunk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • beeliked-microsite/trunk/beelikedmicrosite.php

    r1157934 r1176741  
    32321.0.1 - Documentation change
    33331.0.2 - Updated iFrame Resizer parameters to fix some campaign issues related to modal opening and IE10
     341.0.3 - Updated iFrame Resizer script to version 2.8.6 (2015-04-06) and enabled public methods
    3435*/
    3536
     
    121122        $return = "<iframe load-url=\"{$atts['url']}\" id=\"bee-microsite-iframe-{$this->iframeId}\" class=\"bee-microsite-iframe\" width=\"{$atts['width']}\" height=\"{$atts['height']}\" data-autosize=\"{$autosize}\" frameborder=\"0\"></iframe>
    122123<script type=\"text/javascript\" src=\"http://beta.beeliked.com/microsite/js/beeliked.clientIframe.js\"></script>
    123 <script type=\"text/javascript\">jQuery(document).ready(function() { jQuery('.bee-microsite-iframe[data-autosize=1]').iFrameResize({heightCalculationMethod : (navigator.userAgent.indexOf('MSIE') !== -1) ? 'max' : 'lowestElement', minSize: 100, checkOrigin: false}); });</script>";
     124<script type=\"text/javascript\">jQuery(document).ready(function() { jQuery('.bee-microsite-iframe[data-autosize=1]').iFrameResize({heightCalculationMethod : (navigator.userAgent.indexOf('MSIE') !== -1) ? 'max' : 'lowestElement', minSize: 100, checkOrigin: false, enablePublicMethods: true}); });</script>";
    124125        return $return;
    125126    }
  • beeliked-microsite/trunk/js/iframeResizer.map

    r1111104 r1176741  
    1 {"version":3,"file":"iframeResizer.min.js","sources":["../src/iframeResizer.js"],"names":["addEventListener","obj","evt","func","window","attachEvent","setupRequestAnimationFrame","x","vendors","length","requestAnimationFrame","log","getMyID","retStr","top","self","parentIFrame","getId","formatLogMsg","msg","msgId","settings","console","warn","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","getMsgBody","offset","indexOf","msgHeaderLen","forwardMsgFromIFrame","msgBody","messageCallback","message","JSON","parse","checkIFrameExists","page","getElementPosition","target","iFramePosition","getBoundingClientRect","getPagePosition","parseInt","left","pagePosition","y","scrollRequestFromChild","addOffset","reposition","newPosition","scrollTo","calcOffset","scrollToOffset","scrollCallback","findTarget","location","jumpToTarget","jumpPosition","hash","hashData","decodeURIComponent","getElementsByName","moveToAnchor","actionMsg","resetIFrame","initCallback","firstRun","undefined","pageXOffset","documentElement","scrollLeft","pageYOffset","scrollTop","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","enableInPageLinks","init","fr","resetRequiredMethods","this","checkOptions","options","TypeError","processOptions","option","defaults","hasOwnProperty","factory","element","tagName","toUpperCase","call","Array","prototype","forEach","querySelectorAll","createJQueryPublicMethod","$","fn","iFrameResize","filter","each","end","msgHeader","scroll","bodyScroll","documentElementScroll","maxHeight","maxWidth","minHeight","minWidth","jQuery","define","amd","module","exports"],"mappings":"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","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\tenableInPageLinks         : false,\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\tscrollCallback            : function(){return true;}\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 getMyID(){\n\t\tvar retStr = 'Host page';\n\n\t\tif (window.top!==window.self){\n\t\t\tif (window.parentIFrame){\n\t\t\t\tretStr = window.parentIFrame.getId();\n\t\t\t} else {\n\t\t\t\tretStr = 'Nested host page';\n\t\t\t}\n\t\t}\n\n\t\treturn retStr;\n\t}\n\n\tfunction formatLogMsg(msg){\n\t\treturn msgId + '[' + getMyID() + ']' + msg;\n\t}\n\n\tfunction log(msg){\n\t\tif (settings.log && ('object' === typeof window.console)){\n\t\t\tconsole.log(formatLogMsg(msg));\n\t\t}\n\t}\n\n\tfunction warn(msg){\n\t\tif ('object' === typeof window.console){\n\t\t\tconsole.warn(formatLogMsg(msg));\n\t\t}\n\t}\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\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\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 getMsgBody(offset){\n\t\t\treturn msg.substr(msg.indexOf(':')+msgHeaderLen+offset);\n\t\t}\n\n\t\tfunction forwardMsgFromIFrame(msgBody){\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 getElementPosition(target){\n\t\t\tvar\n\t\t\t\tiFramePosition = target.getBoundingClientRect();\n\n\t\t\tgetPagePosition();\n\n\t\t\treturn {\n\t\t\t\tx: parseInt(iFramePosition.left, 10) + parseInt(pagePosition.x, 10),\n\t\t\t\ty: parseInt(iFramePosition.top, 10)  + parseInt(pagePosition.y, 10)\n\t\t\t};\n\t\t}\n\n\t\tfunction scrollRequestFromChild(addOffset){\n\t\t\tfunction reposition(){\n\t\t\t\tpagePosition = newPosition;\n\n\t\t\t\tscrollTo();\n\n\t\t\t\tlog(' --');\n\t\t\t}\n\n\t\t\tfunction calcOffset(){\n\t\t\t\treturn {\n\t\t\t\t\tx: Number(messageData.width) + offset.x,\n\t\t\t\t\ty: Number(messageData.height) + offset.y\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tvar\n\t\t\t\toffset = addOffset ? getElementPosition(messageData.iframe) : {x:0,y:0},\n\t\t\t\tnewPosition = calcOffset();\n\n\t\t\tlog(' Reposition requested from iFrame (offset x:'+offset.x+' y:'+offset.y+')');\n\n\t\t\tif(window.top!==window.self){\n\t\t\t\tif (window.parentIFrame){\n\t\t\t\t\tif (addOffset){\n\t\t\t\t\t\tparentIFrame.scrollToOffset(newPosition.x,newPosition.y);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tparentIFrame.scrollTo(messageData.width,messageData.height);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\twarn(' Unable to scroll to requested position, window.parentIFrame not found');\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\treposition();\n\t\t\t}\n\n\t\t}\n\n\t\tfunction scrollTo(){\n\t\t\tif (false !== settings.scrollCallback(pagePosition)){\n\t\t\t\tsetPagePosition();\n\t\t\t}\n\t\t}\n\n\t\tfunction findTarget(location){\n\t\t\tvar hash = location.split(\"#\")[1] || \"\";\n\t\t\tvar hashData = decodeURIComponent(hash);\n\n\t\t\tfunction jumpToTarget(target){\n\t\t\t\tvar jumpPosition = getElementPosition(target);\n\n\t\t\t\tlog(' Moving to in page link (#'+hash+') at x: '+jumpPosition.x+' y: '+jumpPosition.y);\n\t\t\t\tpagePosition = {\n\t\t\t\t\tx: jumpPosition.x,\n\t\t\t\t\ty: jumpPosition.y\n\t\t\t\t};\n\n\t\t\t\tscrollTo();\n\t\t\t\tlog(' --');\n\t\t\t}\n\n\t\t\tvar target = document.getElementById(hashData) || document.getElementsByName(hashData)[0];\n\n\t\t\tif(window.top!==window.self){\n\t\t\t\tif (window.parentIFrame){\n\t\t\t\t\tparentIFrame.moveToAnchor(hash);\n\t\t\t\t} else {\n\t\t\t\t\tlog(' In page link #'+hash+' not found and window.parentIFrame not found');\n\t\t\t\t}\n\t\t\t} else if (target){\n\t\t\t\tjumpToTarget(target);\n\t\t\t} else {\n\t\t\t\tlog(' In page link #'+hash+' not found');\n\t\t\t}\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(getMsgBody(6));\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 'inPageLink':\n\t\t\t\t\tfindTarget(getMsgBody(9));\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 page 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 page 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\t\t':' + settings.enableInPageLinks;\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 processOptions(options){\n\t\toptions = options || {};\n\t\tcheckOptions(options);\n\n\t\tfor (var option in defaults) {\n\t\t\tif (defaults.hasOwnProperty(option)){\n\t\t\t\tsettings[option] = options.hasOwnProperty(option) ? options[option] : defaults[option];\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction factory(){\n\t\tfunction init(element){\n\t\t\tif(!element.tagName) {\n                throw new TypeError('Object is not a valid DOM element');\n            } else if ('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\treturn function iFrameResizeF(options,target){\n\t\t\tprocessOptions(options);\n\t\t\tswitch (typeof(target)){\n\t\t\t\tcase 'undefined':\n\t\t\t\tcase 'string':\n\t\t\t\t\tArray.prototype.forEach.call( document.querySelectorAll( target || 'iframe' ), init );\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'object':\n\t\t\t\t\tinit(target);\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tthrow new TypeError('Unexpected data type ('+typeof(target)+').');\n\t\t\t}\n\n\t\t};\n\t}\n\n\tfunction createJQueryPublicMethod($){\n\t\t$.fn.iFrameResize = function $iFrameResizeF(options) {\n\t\t\tprocessOptions(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([],factory);\n\t} else if (typeof module === 'object' && typeof module.exports === 'object') { //Node for browserfy\n\t\tmodule.exports = factory();\n\t} else {\n\t\twindow.iFrameResize = factory();\n\t}\n\n})();\n"]}
     1{"version":3,"file":"iframeResizer.min.js","sources":["../src/iframeResizer.js"],"names":["addEventListener","obj","evt","func","window","attachEvent","setupRequestAnimationFrame","x","vendors","length","requestAnimationFrame","log","getMyID","retStr","top","self","parentIFrame","getId","formatLogMsg","msg","msgId","logEnabled","console","warn","iFrameListener","event","resizeIFrame","resize","setSize","messageData","setPagePosition","settings","iframeID","resizedCallback","ensureInRange","syncResize","closeIFrame","iframe","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","getMsgBody","offset","indexOf","msgHeaderLen","forwardMsgFromIFrame","msgBody","messageCallback","message","JSON","parse","checkIFrameExists","getElementPosition","target","iFramePosition","getBoundingClientRect","getPagePosition","parseInt","left","pagePosition","y","scrollRequestFromChild","addOffset","reposition","newPosition","scrollTo","calcOffset","scrollToOffset","scrollCallback","findTarget","location","jumpToTarget","jumpPosition","hash","hashData","decodeURIComponent","getElementsByName","moveToAnchor","actionMsg","resetIFrame","initCallback","firstRun","undefined","pageXOffset","documentElement","scrollLeft","pageYOffset","scrollTop","reset","trigger","setDimension","style","sizeHeight","sizeWidth","doNotSync","calleeMsg","contentWindow","postMessage","setupIFrame","options","setLimits","addStyle","Infinity","ensureHasId","count","setScrolling","scrolling","overflow","setupBodyMarginValues","bodyMargin","bodyMarginV1","createOutgoingMsg","interval","enablePublicMethods","autoResize","heightCalculationMethod","bodyBackground","bodyPadding","tolerance","enableInPageLinks","resizeFrom","init","fr","resetRequiredMethods","checkOptions","TypeError","processOptions","option","defaults","hasOwnProperty","this","throttle","fn","time","timer","setTimeout","winResize","iframeId","factory","element","tagName","toUpperCase","call","Array","prototype","forEach","querySelectorAll","createJQueryPublicMethod","$","iFrameResize","filter","each","index","end","msgHeader","scroll","bodyScroll","documentElementScroll","maxHeight","maxWidth","minHeight","minWidth","jQuery","define","amd","module","exports"],"mappings":"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","sourcesContent":["/*\n * File: iframeResizer.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 * Contributor: Reed Dadoune - reed@dadoune.com\n */\n;(function() {\n\t'use strict';\n\n\tvar\n\t\tcount                 = 0,\n\t\tfirstRun              = true,\n\t\tlogEnabled            = false,\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\tpagePosition          = null,\n\t\trequestAnimationFrame = window.requestAnimationFrame,\n\t\tresetRequiredMethods  = {max:1,scroll:1,bodyScroll:1,documentElementScroll:1},\n\t\tsettings              = {},\n\t\ttimer                 = null,\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\tenableInPageLinks         : false,\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\tresizeFrom                : 'parent',\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\tscrollCallback            : function(){return true;}\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 getMyID(){\n\t\tvar retStr = 'Host page';\n\n\t\tif (window.top!==window.self){\n\t\t\tif (window.parentIFrame){\n\t\t\t\tretStr = window.parentIFrame.getId();\n\t\t\t} else {\n\t\t\t\tretStr = 'Nested host page';\n\t\t\t}\n\t\t}\n\n\t\treturn retStr;\n\t}\n\n\tfunction formatLogMsg(msg){\n\t\treturn msgId + '[' + getMyID() + ']' + msg;\n\t}\n\n\tfunction log(msg){\n\t\tif (logEnabled && ('object' === typeof window.console)){\n\t\t\tconsole.log(formatLogMsg(msg));\n\t\t}\n\t}\n\n\tfunction warn(msg){\n\t\tif ('object' === typeof window.console){\n\t\t\tconsole.warn(formatLogMsg(msg));\n\t\t}\n\t}\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[iframeID].resizedCallback(messageData);\n\t\t\t}\n\n\t\t\tensureInRange('Height');\n\t\t\tensureInRange('Width');\n\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[iframeID].closedCallback(iframeID);\n\t\t\tdelete settings[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[iframeID]['max'+Dimension]),\n\t\t\t\tmin  = Number(settings[iframeID]['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\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[iframeID].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 getMsgBody(offset){\n\t\t\treturn msg.substr(msg.indexOf(':')+msgHeaderLen+offset);\n\t\t}\n\n\t\tfunction forwardMsgFromIFrame(msgBody){\n\t\t\tlog(' MessageCallback passed: {iframe: '+ messageData.iframe.id + ', message: ' + msgBody + '}');\n\t\t\tsettings[iframeID].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\twarn(' IFrame ('+messageData.id+') not found');\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\n\t\tfunction getElementPosition(target){\n\t\t\tvar\n\t\t\t\tiFramePosition = target.getBoundingClientRect();\n\n\t\t\tgetPagePosition();\n\n\t\t\treturn {\n\t\t\t\tx: parseInt(iFramePosition.left, 10) + parseInt(pagePosition.x, 10),\n\t\t\t\ty: parseInt(iFramePosition.top, 10)  + parseInt(pagePosition.y, 10)\n\t\t\t};\n\t\t}\n\n\t\tfunction scrollRequestFromChild(addOffset){\n\t\t\tfunction reposition(){\n\t\t\t\tpagePosition = newPosition;\n\n\t\t\t\tscrollTo();\n\n\t\t\t\tlog(' --');\n\t\t\t}\n\n\t\t\tfunction calcOffset(){\n\t\t\t\treturn {\n\t\t\t\t\tx: Number(messageData.width) + offset.x,\n\t\t\t\t\ty: Number(messageData.height) + offset.y\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tvar\n\t\t\t\toffset = addOffset ? getElementPosition(messageData.iframe) : {x:0,y:0},\n\t\t\t\tnewPosition = calcOffset();\n\n\t\t\tlog(' Reposition requested from iFrame (offset x:'+offset.x+' y:'+offset.y+')');\n\n\t\t\tif(window.top!==window.self){\n\t\t\t\tif (window.parentIFrame){\n\t\t\t\t\tif (addOffset){\n\t\t\t\t\t\tparentIFrame.scrollToOffset(newPosition.x,newPosition.y);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tparentIFrame.scrollTo(messageData.width,messageData.height);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\twarn(' Unable to scroll to requested position, window.parentIFrame not found');\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\treposition();\n\t\t\t}\n\n\t\t}\n\n\t\tfunction scrollTo(){\n\t\t\tif (false !== settings[iframeID].scrollCallback(pagePosition)){\n\t\t\t\tsetPagePosition();\n\t\t\t}\n\t\t}\n\n\t\tfunction findTarget(location){\n\t\t\tvar hash = location.split(\"#\")[1] || \"\";\n\t\t\tvar hashData = decodeURIComponent(hash);\n\n\t\t\tfunction jumpToTarget(target){\n\t\t\t\tvar jumpPosition = getElementPosition(target);\n\n\t\t\t\tlog(' Moving to in page link (#'+hash+') at x: '+jumpPosition.x+' y: '+jumpPosition.y);\n\t\t\t\tpagePosition = {\n\t\t\t\t\tx: jumpPosition.x,\n\t\t\t\t\ty: jumpPosition.y\n\t\t\t\t};\n\n\t\t\t\tscrollTo();\n\t\t\t\tlog(' --');\n\t\t\t}\n\n\t\t\tvar target = document.getElementById(hashData) || document.getElementsByName(hashData)[0];\n\n\t\t\tif(window.top!==window.self){\n\t\t\t\tif (window.parentIFrame){\n\t\t\t\t\tparentIFrame.moveToAnchor(hash);\n\t\t\t\t} else {\n\t\t\t\t\tlog(' In page link #'+hash+' not found and window.parentIFrame not found');\n\t\t\t\t}\n\t\t\t} else if (target){\n\t\t\t\tjumpToTarget(target);\n\t\t\t} else {\n\t\t\t\tlog(' In page link #'+hash+' not found');\n\t\t\t}\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\tbreak;\n\t\t\t\tcase 'message':\n\t\t\t\t\tforwardMsgFromIFrame(getMsgBody(6));\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 'inPageLink':\n\t\t\t\t\tfindTarget(getMsgBody(9));\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[iframeID].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\t\t\tiframeID = null;\n\n\t\tif (isMessageForUs()){\n\t\t\tmessageData = processMsg();\n\t\t\tiframeID    = messageData.id;\n\t\t\tlogEnabled  = settings[iframeID].log;\n\t\t\tlog(' Received: '+msg);\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 page 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 page 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,messageData.id);\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 (' + iframeID +\n\t\t\t\t') ' + dimension +\n\t\t\t\t' set to ' + messageData[dimension] + 'px'\n\t\t\t);\n\t\t}\n\t\tvar iframeID = messageData.iframe.id;\n\t\tif( settings[iframeID].sizeHeight) { setDimension('height'); }\n\t\tif( settings[iframeID].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,id){\n\t\tif(iframe && iframe.contentWindow){\n\t\t\tlog('[' + calleeMsg + '] Sending msg to iframe ('+msg+')');\n\t\t\tiframe.contentWindow.postMessage( msgId + msg, '*' );\n\t\t} else {\n\t\t\twarn('[' + calleeMsg + '] IFrame not found');\n\t\t\tif(settings[id]) delete settings[id];\n\t\t}\n\t}\n\n\n\tfunction setupIFrame(options){\n\t\tfunction setLimits(){\n\t\t\tfunction addStyle(style){\n\t\t\t\tif ((Infinity !== settings[iframeID][style]) && (0 !== settings[iframeID][style])){\n\t\t\t\t\tiframe.style[style] = settings[iframeID][style] + 'px';\n\t\t\t\t\tlog(' Set '+style+' = '+settings[iframeID][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\tlogEnabled = (options || {}).log;\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[iframeID].scrolling ? 'enabled' : 'disabled') + ' for ' + iframeID);\n\t\t\tiframe.style.overflow = false === settings[iframeID].scrolling ? 'hidden' : 'auto';\n\t\t\tiframe.scrolling      = false === settings[iframeID].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[iframeID].bodyMargin)) || ('0'===settings[iframeID].bodyMargin)){\n\t\t\t\tsettings[iframeID].bodyMarginV1 = settings[iframeID].bodyMargin;\n\t\t\t\tsettings[iframeID].bodyMargin   = '' + settings[iframeID].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[iframeID].bodyMarginV1 +\n\t\t\t\t':' + settings[iframeID].sizeWidth +\n\t\t\t\t':' + settings[iframeID].log +\n\t\t\t\t':' + settings[iframeID].interval +\n\t\t\t\t':' + settings[iframeID].enablePublicMethods +\n\t\t\t\t':' + settings[iframeID].autoResize +\n\t\t\t\t':' + settings[iframeID].bodyMargin +\n\t\t\t\t':' + settings[iframeID].heightCalculationMethod +\n\t\t\t\t':' + settings[iframeID].bodyBackground +\n\t\t\t\t':' + settings[iframeID].bodyPadding +\n\t\t\t\t':' + settings[iframeID].tolerance +\n\t\t\t\t':' + settings[iframeID].enableInPageLinks +\n\t\t\t\t':' + settings[iframeID].resizeFrom;\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[iframeID].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\tfunction checkOptions(options){\n\t\t\tif ('object' !== typeof options){\n\t\t\t\tthrow new TypeError('Options is not an object.');\n\t\t\t}\n\t\t}\n\n\t\tfunction processOptions(options){\n\t\t\toptions = options || {};\n\t\t\tsettings[iframeID] = {};\n\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[iframeID][option] = options.hasOwnProperty(option) ? options[option] : defaults[option];\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tlogEnabled = settings[iframeID].log;\n\t\t}\n\n\t\tvar\n\t\t\t/*jshint validthis:true */\n\t\t\tiframe   = this,\n\t\t\tiframeID = ensureHasId(iframe.id);\n\n\t\tprocessOptions(options);\n\t\tsetScrolling();\n\t\tsetLimits();\n\t\tsetupBodyMarginValues();\n\t\tinit(createOutgoingMsg());\n\t}\n\n\tfunction throttle(fn,time){\n\t\tif (null === timer){\n\t\t\ttimer = setTimeout(function(){\n\t\t\t\ttimer = null;\n\t\t\t\tfn();\n\t\t\t}, time);\n\t\t}\n\t}\n\n\tfunction winResize(){\n\t\tthrottle(function(){\n\t\t\tfor (var iframeId in settings){\n\t\t\t\tif('parent' === settings[iframeId].resizeFrom){\n\t\t\t\t\ttrigger('Window resize','resize',document.getElementById(iframeId),iframeId);\n\t\t\t\t}\n\t\t\t}\n\t\t},66);\n\t}\n\n\tfunction factory(){\n\t\tfunction init(element, options){\n\t\t\tif(!element.tagName) {\n\t\t\t\tthrow new TypeError('Object is not a valid DOM element');\n\t\t\t} else if ('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, options);\n\t\t\t}\n\t\t}\n\n\t\treturn function iFrameResizeF(options,target){\n\t\t\tswitch (typeof(target)){\n\t\t\t\tcase 'undefined':\n\t\t\t\tcase 'string':\n\t\t\t\t\tArray.prototype.forEach.call( document.querySelectorAll( target || 'iframe' ), function (element) {\n\t\t\t\t\t\tinit(element, options);\n\t\t\t\t\t});\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'object':\n\t\t\t\t\tinit(target, options);\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tthrow new TypeError('Unexpected data type ('+typeof(target)+').');\n\t\t\t}\n\t\t};\n\t}\n\n\tfunction createJQueryPublicMethod($){\n\t\t$.fn.iFrameResize = function $iFrameResizeF(options) {\n\t\t\treturn this.filter('iframe').each(function (index, element) {\n\t\t\t\tsetupIFrame.call(element, options);\n\t\t\t}).end();\n\t\t};\n\t}\n\n\tsetupRequestAnimationFrame();\n\taddEventListener(window,'message',iFrameListener);\n\taddEventListener(window,'resize', winResize);\n\n\tif (window.jQuery) { createJQueryPublicMethod(jQuery); }\n\n\tif (typeof define === 'function' && define.amd) {\n\t\tdefine([],factory);\n\t} else if (typeof module === 'object' && typeof module.exports === 'object') { //Node for browserfy\n\t\tmodule.exports = factory();\n\t} else {\n\t\twindow.iFrameResize = factory();\n\t}\n\n})();\n"]}
  • beeliked-microsite/trunk/js/iframeResizer.min.js

    r1111104 r1176741  
    1 /*! iFrame Resizer (iframeSizer.min.js ) - v2.6.1 - 2014-09-03
     1/*! iFrame Resizer (iframeSizer.min.js ) - v2.8.6 - 2015-04-06
    22 *  Desc: Force cross domain iframes to size to content.
    33 *  Requires: iframeResizer.contentWindow.min.js to be loaded into the target frame.
    4  *  Copyright: (c) 2014 David J. Bradshaw - dave@bradshaw.net
     4 *  Copyright: (c) 2015 David J. Bradshaw - dave@bradshaw.net
    55 *  License: MIT
    66 */
    77
    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(z),f(),y.resizedCallback(z)}i(a,z,"resetPage")}function d(a){var b=a.id;c(" Removing iFrame: "+b),a.parentNode.removeChild(a),y.closedCallback(b),c(" --")}function e(){var a=x.substr(t).split(":");return{iframe:document.getElementById(a[0]),id:a[0],height:a[1],width:a[2],type:a[3]}}function j(a){var b=Number(y["max"+a]),d=Number(y["min"+a]),e=a.toLowerCase(),f=Number(z[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")),z[e]=""+f}function k(){var b=a.origin,d=z.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 "+z.iframe.id+". Message was: "+a.data+". This error can be disabled by adding the checkOrigin: false option.");return!0}function l(){return s===(""+x).substr(0,t)}function m(){var a=z.type in{"true":1,"false":1};return a&&c(" Ignoring init message from meta parent page"),a}function n(){var a=x.substr(x.indexOf(":")+r+6);c(" MessageCallback passed: {iframe: "+z.iframe.id+", message: "+a+"}"),y.messageCallback({iframe:z.iframe,message:a}),c(" --")}function o(){if(null===z.iframe)throw new Error("iFrame ("+z.id+") does not exist on "+u);return!0}function q(){c(" Reposition requested from iFrame"),v={x:z.width,y:z.height},f()}function w(){switch(z.type){case"close":d(z.iframe),y.resizedCallback(z);break;case"message":n();break;case"scrollTo":q();break;case"reset":g(z);break;case"init":b(),y.initCallback(z.iframe);break;default:b()}}var x=a.data,z={};l()&&(c(" Received: "+x),z=e(),j("Height"),j("Width"),!m()&&o()&&k()&&(w(),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),"jQuery"in window&&n(jQuery),"function"==typeof define&&define.amd?define(function(){return m()}):window.iFrameResize=m()}();
    9 //# sourceMappingURL=../src/iframeResizer.map
     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&&!A;a+=1)A=window[b[a]+"RequestAnimationFrame"];A||e(" RequestAnimationFrame not supported")}function c(){var a="Host page";return window.top!==window.self&&(a=window.parentIFrame?window.parentIFrame.getId():"Nested host page"),a}function d(a){return x+"["+c()+"]"+a}function e(a){u&&"object"==typeof window.console&&console.log(d(a))}function f(a){"object"==typeof window.console&&console.warn(d(a))}function g(a){function b(){function a(){k(F),i(),C[G].resizedCallback(F)}g("Height"),g("Width"),l(a,F,"resetPage")}function c(a){var b=a.id;e(" Removing iFrame: "+b),a.parentNode.removeChild(a),C[b].closedCallback(b),delete C[b],e(" --")}function d(){var a=E.substr(y).split(":");return{iframe:document.getElementById(a[0]),id:a[0],height:a[1],width:a[2],type:a[3]}}function g(a){var b=Number(C[G]["max"+a]),c=Number(C[G]["min"+a]),d=a.toLowerCase(),f=Number(F[d]);if(c>b)throw new Error("Value for min"+a+" can not be greater than max"+a);e(" Checking "+d+" is in range "+c+"-"+b),c>f&&(f=c,e(" Set "+d+" to min value")),f>b&&(f=b,e(" Set "+d+" to max value")),F[d]=""+f}function m(){var b=a.origin,c=F.iframe.src.split("/").slice(0,3).join("/");if(C[G].checkOrigin&&(e(" Checking connection is from: "+c),""+b!="null"&&b!==c))throw new Error("Unexpected message received from: "+b+" for "+F.iframe.id+". Message was: "+a.data+". This error can be disabled by adding the checkOrigin: false option.");return!0}function n(){return x===(""+E).substr(0,y)}function o(){var a=F.type in{"true":1,"false":1};return a&&e(" Ignoring init message from meta parent page"),a}function p(a){return E.substr(E.indexOf(":")+w+a)}function q(a){e(" MessageCallback passed: {iframe: "+F.iframe.id+", message: "+a+"}"),C[G].messageCallback({iframe:F.iframe,message:JSON.parse(a)}),e(" --")}function r(){return null===F.iframe?(f(" IFrame ("+F.id+") not found"),!1):!0}function s(a){var b=a.getBoundingClientRect();return h(),{x:parseInt(b.left,10)+parseInt(z.x,10),y:parseInt(b.top,10)+parseInt(z.y,10)}}function v(a){function b(){z=g,A(),e(" --")}function c(){return{x:Number(F.width)+d.x,y:Number(F.height)+d.y}}var d=a?s(F.iframe):{x:0,y:0},g=c();e(" Reposition requested from iFrame (offset x:"+d.x+" y:"+d.y+")"),window.top!==window.self?window.parentIFrame?a?parentIFrame.scrollToOffset(g.x,g.y):parentIFrame.scrollTo(F.width,F.height):f(" Unable to scroll to requested position, window.parentIFrame not found"):b()}function A(){!1!==C[G].scrollCallback(z)&&i()}function B(a){function b(a){var b=s(a);e(" Moving to in page link (#"+c+") at x: "+b.x+" y: "+b.y),z={x:b.x,y:b.y},A(),e(" --")}var c=a.split("#")[1]||"",d=decodeURIComponent(c),f=document.getElementById(d)||document.getElementsByName(d)[0];window.top!==window.self?window.parentIFrame?parentIFrame.moveToAnchor(c):e(" In page link #"+c+" not found and window.parentIFrame not found"):f?b(f):e(" In page link #"+c+" not found")}function D(){switch(F.type){case"close":c(F.iframe);break;case"message":q(p(6));break;case"scrollTo":v(!1);break;case"scrollToOffset":v(!0);break;case"inPageLink":B(p(9));break;case"reset":j(F);break;case"init":b(),C[G].initCallback(F.iframe);break;default:b()}}var E=a.data,F={},G=null;n()&&(F=d(),G=F.id,u=C[G].log,e(" Received: "+E),!o()&&r()&&m()&&(D(),t=!1))}function h(){null===z&&(z={x:void 0!==window.pageXOffset?window.pageXOffset:document.documentElement.scrollLeft,y:void 0!==window.pageYOffset?window.pageYOffset:document.documentElement.scrollTop},e(" Get page position: "+z.x+","+z.y))}function i(){null!==z&&(window.scrollTo(z.x,z.y),e(" Set page position: "+z.x+","+z.y),z=null)}function j(a){function b(){k(a),m("reset","reset",a.iframe,a.id)}e(" Size reset requested by "+("init"===a.type?"host page":"iFrame")),h(),l(b,a,"init")}function k(a){function b(b){a.iframe.style[b]=a[b]+"px",e(" IFrame ("+c+") "+b+" set to "+a[b]+"px")}var c=a.iframe.id;C[c].sizeHeight&&b("height"),C[c].sizeWidth&&b("width")}function l(a,b,c){c!==b.type&&A?(e(" Requesting animation frame"),A(a)):a()}function m(a,b,c,d){c&&c.contentWindow?(e("["+a+"] Sending msg to iframe ("+b+")"),c.contentWindow.postMessage(x+b,"*")):(f("["+a+"] IFrame not found"),C[d]&&delete C[d])}function n(b){function c(){function a(a){1/0!==C[o][a]&&0!==C[o][a]&&(n.style[a]=C[o][a]+"px",e(" Set "+a+" = "+C[o][a]+"px"))}a("maxHeight"),a("minHeight"),a("maxWidth"),a("minWidth")}function d(a){return""===a&&(n.id=a="iFrameResizer"+s++,u=(b||{}).log,e(" Added missing iframe ID: "+a+" ("+n.src+")")),a}function f(){e(" IFrame scrolling "+(C[o].scrolling?"enabled":"disabled")+" for "+o),n.style.overflow=!1===C[o].scrolling?"hidden":"auto",n.scrolling=!1===C[o].scrolling?"no":"yes"}function g(){("number"==typeof C[o].bodyMargin||"0"===C[o].bodyMargin)&&(C[o].bodyMarginV1=C[o].bodyMargin,C[o].bodyMargin=""+C[o].bodyMargin+"px")}function h(){return o+":"+C[o].bodyMarginV1+":"+C[o].sizeWidth+":"+C[o].log+":"+C[o].interval+":"+C[o].enablePublicMethods+":"+C[o].autoResize+":"+C[o].bodyMargin+":"+C[o].heightCalculationMethod+":"+C[o].bodyBackground+":"+C[o].bodyPadding+":"+C[o].tolerance+":"+C[o].enableInPageLinks+":"+C[o].resizeFrom}function i(b){a(n,"load",function(){var a=t;m("iFrame.onload",b,n),!a&&C[o].heightCalculationMethod in B&&j({iframe:n,height:0,width:0,type:"init"})}),m("init",b,n)}function k(a){if("object"!=typeof a)throw new TypeError("Options is not an object.")}function l(a){a=a||{},C[o]={},k(a);for(var b in E)E.hasOwnProperty(b)&&(C[o][b]=a.hasOwnProperty(b)?a[b]:E[b]);u=C[o].log}var n=this,o=d(n.id);l(b),f(),c(),g(),i(h())}function o(a,b){null===D&&(D=setTimeout(function(){D=null,a()},b))}function p(){o(function(){for(var a in C)"parent"===C[a].resizeFrom&&m("Window resize","resize",document.getElementById(a),a)},66)}function q(){function a(a,b){if(!a.tagName)throw new TypeError("Object is not a valid DOM element");if("IFRAME"!==a.tagName.toUpperCase())throw new TypeError("Expected <IFRAME> tag, found <"+a.tagName+">.");n.call(a,b)}return function(b,c){switch(typeof c){case"undefined":case"string":Array.prototype.forEach.call(document.querySelectorAll(c||"iframe"),function(c){a(c,b)});break;case"object":a(c,b);break;default:throw new TypeError("Unexpected data type ("+typeof c+").")}}}function r(a){a.fn.iFrameResize=function(a){return this.filter("iframe").each(function(b,c){n.call(c,a)}).end()}}var s=0,t=!0,u=!1,v="message",w=v.length,x="[iFrameSizer]",y=x.length,z=null,A=window.requestAnimationFrame,B={max:1,scroll:1,bodyScroll:1,documentElementScroll:1},C={},D=null,E={autoResize:!0,bodyBackground:null,bodyMargin:null,bodyMarginV1:8,bodyPadding:null,checkOrigin:!0,enableInPageLinks:!1,enablePublicMethods:!1,heightCalculationMethod:"offset",interval:32,log:!1,maxHeight:1/0,maxWidth:1/0,minHeight:0,minWidth:0,resizeFrom:"parent",scrolling:!1,sizeHeight:!0,sizeWidth:!1,tolerance:0,closedCallback:function(){},initCallback:function(){},messageCallback:function(){},resizedCallback:function(){},scrollCallback:function(){return!0}};b(),a(window,"message",g),a(window,"resize",p),window.jQuery&&r(jQuery),"function"==typeof define&&define.amd?define([],q):"object"==typeof module&&"object"==typeof module.exports?module.exports=q():window.iFrameResize=q()}();
     9//# sourceMappingURL=iframeResizer.map
Note: See TracChangeset for help on using the changeset viewer.