JSFiddle - React, Tailwind, and code Playground
HTML
<iframe src="http://fiddle.jshell.net/kBh7c/2/show/" frameBorder="0" allowTransparency="true" scrolling="no"></iframe>
CSS
html, body {
background: #d0e5ff;
}
JavaScript
if (window.addEventListener) window.addEventListener("message", handleIframelyMessage, false);
else window.attachEvent("onmessage", function (e) { return handleIframelyMessage.call(this,e||window.event); });
function handleIframelyMessage (event) {
var m;
if (typeof event.data !== "string" || !(m = /^iframely:size:(.*)/.exec(event.data))) {
return;
}
var params = m[1].split("&");
var size = {};
for (var i = 0; i < params.length; ++ i) {
var param = params[i].split("=");
var key = decodeURIComponent(param[0]);
size[key] = decodeURIComponent(param.slice(1).join("="));
}
if ('width' in size) size.width = parseInt(size.width,10);
if ('height' in size) size.height = parseInt(size.height,10);
var elems = document.getElementsByTagName("iframe");
for (var i = 0; i < elems.length; ++ i) {
var elem = elems[i];
if (elem.contentWindow === event.source) {
if ('width' in size) elem.style.width = size.width+'px';
if ('height' in size) elem.style.height = size.height+'px';
break;
}
}
}