var init = function(configFile, parentDivSelector) { var div = $(parentDivSelector); $('
\n' + '
\n' + '

Javascript

\n' + '

HTML

\n' + '
\n' + '
\n' + '

Result

\n' + ' \n' + '
\n' + '
\n' + '\n' + '\n' ) .appendTo(div); $.ajax({ url: configFile, }).done(function(data) { if (data.title) { $('.title').html(data.title); } if (data.explain) { $('.explain').html(data.explain); } var jsMirror = CodeMirror(document.getElementById('js'), { value: data.js, mode: "javascript" }); var htmlMirror = CodeMirror(document.getElementById('html'), { value: data.html, mode: "xml" }); htmlMirror.setSize(null, "180"); var update = function() { var js = jsMirror.getValue(); var html = htmlMirror.getValue(); updateIFrame('result', html, js); } update(); jsMirror.on('change', function(e) { update(); }); htmlMirror.on('change', function(e) { update(); }); }); } var updateIFrame = function(iframeId, html, js) { var iframe = $('#' + iframeId)[0]; if (iframe.contentDocument) { doc = iframe.contentDocument; } else if (iframe.contentWindow) { doc = iframe.contentWindow.document; } else { doc = iframe.document; } var content = '' + html + ''; doc.open(); doc.writeln(content); doc.close(); }