JSFiddle - React, Tailwind, and code Playground
by davestein
HTML
<html>
<body>
</body>
</html>
JavaScript
var iframe = document.createElement('iframe');
var html ='<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html><head><title>Rich Text Area.</title><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><base href="http://net1.be.lan/portfolio/project_editor/"><style>html { height: 95%; } body { padding: 7px; background-color: #fff; font: 13px/1.22 arial,helvetica,clean,sans-serif;*font-size:small;*font:x-small; } a, a:visited, a:hover { color: blue !important; text-decoration: underline !important; cursor: text !important; } .warning-localfile { border-bottom: 1px dashed red !important; } .yui-busy { cursor: wait !important; } img.selected { border: 2px dotted #808080; } img { cursor: pointer !important; border: none; } body.ptags.webkit div.yui-wk-p { margin: 11px 0; } body.ptags.webkit div.yui-wk-div { margin: 0; }</style><style>.yui-hidden font, .yui-hidden strong, .yui-hidden b, .yui-hidden em, .yui-hidden i, .yui-hidden u, .yui-hidden div,.yui-hidden p,.yui-hidden span,.yui-hidden img, .yui-hidden ul, .yui-hidden ol, .yui-hidden li, .yui-hidden table { border: 1px dotted #ccc; } .yui-hidden .yui-non { border: none; } .yui-hidden img { padding: 2px; }</style><style>/* No Extra CSS */</style></head><body onload="document.body._rteLoaded = true;"><br></body></html>';
iframe.setAttribute('src', 'javascript:;');
iframe.setAttribute('contentEditable','true');
document.body.appendChild( iframe );
var iframe_window = iframe.contentWindow,
iframe_doc = iframe_window.document;
iframe_doc.onload = function() {
alert('loaded');
};
iframe.src = 'data:text/html;charset=utf-8,' + encodeURIComponent(html)
var iframe_head = iframe_doc.getElementsByTagName('head')[0],
run_script = iframe_doc.createElement('script');
run_script.innerHTML = 'alert( window.location.href );';
iframe_head.appendChild(run_script);