Skip to content

Instantly share code, notes, and snippets.

@nsisodiya
Last active December 16, 2020 14:45
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save nsisodiya/4563433 to your computer and use it in GitHub Desktop.
Save nsisodiya/4563433 to your computer and use it in GitHub Desktop.
Dynamic IFRAME Using Dynamic Document Fragment when html & css are provided as Strings
var html = '<h1 class="nar">Narendra</div>';
var css = '.nar { color: red; background: url("http://google.com/images/google_favicon_128.png") repeat scroll 0 0 transparent;}';
var nodeWhereToAppend = document.body;
//var nodeWhereToAppend = document.getElementById("container");
function CreateIframe(html, css, nodeWhereToAppend){
var fragment = document.createDocumentFragment();
var iframe = document.createElement('iframe');
iframe.onload = function(){
var doc = this.contentWindow.document;
doc.body.innerHTML= html;
var style = document.createElement("style");
style.setAttribute("type","text/css");
style.innerHTML = css;
doc.head.appendChild(style);
}
fragment.appendChild(iframe);
while (nodeWhereToAppend.firstChild) {
nodeWhereToAppend.removeChild(nodeWhereToAppend.firstChild);
}
nodeWhereToAppend.appendChild(fragment);
}
CreateIframe(html, css, nodeWhereToAppend);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment