| 
0
 | 
     1 <!DOCTYPE html> 
 | 
| 
 | 
     2 <html> 
 | 
| 
 | 
     3 	<head> 
 | 
| 
 | 
     4 		<meta charset="utf-8"> 
 | 
| 
 | 
     5 		<title>iFrame message passing test</title> 
 | 
| 
 | 
     6 		<meta name="description" content="iFrame message passing test"> 
 | 
| 
 | 
     7 		<meta name="viewport" content="width=device-width">
 | 
| 
 | 
     8 		<meta http-equiv="X-UA-Compatible" content="IE=edge">
 | 
| 
 | 
     9 		<script type="text/javascript">
 | 
| 
 | 
    10 			//MDN PolyFil for IE8 (This is not needed if you use the jQuery version)
 | 
| 
 | 
    11 			if (!Array.prototype.forEach){
 | 
| 
 | 
    12 				Array.prototype.forEach = function(fun /*, thisArg */){
 | 
| 
 | 
    13 				"use strict";
 | 
| 
 | 
    14 				if (this === void 0 || this === null || typeof fun !== "function") throw new TypeError();
 | 
| 
 | 
    15 				
 | 
| 
 | 
    16 				var
 | 
| 
 | 
    17 				t = Object(this),
 | 
| 
 | 
    18 				len = t.length >>> 0,
 | 
| 
 | 
    19 				thisArg = arguments.length >= 2 ? arguments[1] : void 0;
 | 
| 
 | 
    20 
 | 
| 
 | 
    21 				for (var i = 0; i < len; i++)
 | 
| 
 | 
    22 				if (i in t)
 | 
| 
 | 
    23 					fun.call(thisArg, t[i], i, t);
 | 
| 
 | 
    24 				};
 | 
| 
 | 
    25 			}
 | 
| 
 | 
    26 		</script>
 | 
| 
 | 
    27 		<style>
 | 
| 
 | 
    28 			*, *:before, *:after {box-model: border-box;}
 | 
| 
 | 
    29 			a { float:right; margin-left:10px;}
 | 
| 
 | 
    30 			
 | 
| 
 | 
    31 			h2 {margin-top: 0;}
 | 
| 
 | 
    32 		</style>
 | 
| 
 | 
    33 	</head> 
 | 
| 
 | 
    34 	<body>
 | 
| 
 | 
    35 		<a href="frame.content.html">Back to page 1</a>
 | 
| 
 | 
    36 		<h2>Nested iFrame</h2>
 | 
| 
 | 
    37 		<p>Resize window or click one of the links in the nested iFrame to watch it resize.</p>
 | 
| 
 | 
    38 		<div style="margin:20px;">
 | 
| 
 | 
    39 			<iframe id="nestedIFrame" src="frame.content.html" width="100%" scrolling="no"></iframe>
 | 
| 
 | 
    40 		</div>
 | 
| 
 | 
    41 		<p id="callback">
 | 
| 
 | 
    42 		</p>
 | 
| 
 | 
    43 
 | 
| 
 | 
    44 		<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
 | 
| 
 | 
    45 		<script type="text/javascript" src="../js/iframeResizer.min.js"></script> 
 | 
| 
 | 
    46 		<script type="text/javascript">
 | 
| 
 | 
    47 
 | 
| 
 | 
    48 
 | 
| 
 | 
    49 			var level = document.location.search.replace(/\?/,'') || 0;
 | 
| 
 | 
    50 
 | 
| 
 | 
    51 			$('iframe').attr('id','nestedIFrame'+level).attr('src','frame.content.html?'+level);
 | 
| 
 | 
    52 
 | 
| 
 | 
    53 			iFrameResize({
 | 
| 
 | 
    54 				log                     : true,                  // Enable console logging
 | 
| 
 | 
    55 				enablePublicMethods     : true,                  // Enable methods within iFrame hosted page
 | 
| 
 | 
    56 				resizedCallback         : function(messageData){ // Callback fn when message is received
 | 
| 
 | 
    57 					$('p#callback').html(
 | 
| 
 | 
    58 						'<b>Frame ID:</b> '    + messageData.iframe.id +
 | 
| 
 | 
    59 						' <b>Height:</b> '     + messageData.height +
 | 
| 
 | 
    60 						' <b>Width:</b> '      + messageData.width + 
 | 
| 
 | 
    61 						' <b>Event type:</b> ' + messageData.type
 | 
| 
 | 
    62 					);
 | 
| 
 | 
    63 				},
 | 
| 
 | 
    64 				messageCallback         : function(messageData){ // Callback fn when message is received
 | 
| 
 | 
    65 					$('p#callback').html(
 | 
| 
 | 
    66 						'<b>Frame ID:</b> '    + messageData.iframe.id +
 | 
| 
 | 
    67 						' <b>Message:</b> '    + messageData.message
 | 
| 
 | 
    68 					);
 | 
| 
 | 
    69 					alert(messageData.message);
 | 
| 
 | 
    70 				},
 | 
| 
 | 
    71 				closedCallback         : function(id){ /// Callback fn when iFrame is closed
 | 
| 
 | 
    72 					$('p#callback').html(
 | 
| 
 | 
    73 						'<b>IFrame (</b>'    + id +
 | 
| 
 | 
    74 						'<b>) removed from page.</b>'
 | 
| 
 | 
    75 					);
 | 
| 
 | 
    76 				}
 | 
| 
 | 
    77 			});
 | 
| 
 | 
    78 
 | 
| 
 | 
    79 
 | 
| 
 | 
    80 		</script>
 | 
| 
 | 
    81 		<script type="text/javascript" src="../js/iframeResizer.contentWindow.min.js"></script> 
 | 
| 
 | 
    82 
 | 
| 
 | 
    83 	</body> 
 | 
| 
 | 
    84 </html> |