Set Content Of Iframe
I have the following structure. and I have the f
Hello World !!
Solution 1:
I managed to do it with
var html_string= "content";
document.getElementById('output_iframe1').src = "data:text/html;charset=utf-8," + escape(html_string);
Solution 2:
Use the "contents" function:
$('#some-id').contents().find('html').html("some-html")
Relevant fiddle: http://jsfiddle.net/fDFca/
Solution 3:
Unified Answer :
In order to work on all modern browsers, you will need two steps:
Add
javascript:void(0);
assrc
attribute for the iframe element. Otherwise the content will be overriden by the emptysrc
on Firefox.<iframesrc="javascript:void(0);"></iframe>
Programatically change the content of the inner
html
element.$(iframeSelector).contents().find('html').html(htmlContent);
Credits:
Step 1 from comment (link) by @susan
Step 2 from solutions (link1, link2) by @erimerturk and @x10
Solution 4:
I needed to reuse the same iframe and replace the content each time. I've tried a few ways and this worked for me:
// Set the iframe's src to about:blank so that it conforms to the same-origin policy
iframeElement.src = "about:blank";
// Set the iframe's new HTML
iframeElement.contentWindow.document.open();
iframeElement.contentWindow.document.write(newHTML);
iframeElementcontentWindow.document.close();
Here it is as a function:
functionreplaceIframeContent(iframeElement, newHTML)
{
iframeElement.src = "about:blank";
iframeElement.contentWindow.document.open();
iframeElement.contentWindow.document.write(newHTML);
iframeElement.contentWindow.document.close();
}
Solution 5:
$('#myiframe').contents().find('html').html(s);
you can check from here http://jsfiddle.net/Y9beh/
Post a Comment for "Set Content Of Iframe"