In order to work on all modern browsers, you will need two steps:
Add javascript:void(0);
as src
attribute for the iframe element. Otherwise the content will be overriden by the empty src
on Firefox.
<iframe src="javascript:void(0);"></iframe>
Programatically change the content of the inner html
element.
$(iframeSelector).contents().find('html').html(htmlContent);
Step 1 from comment (link) by @susan
Step 2 from solutions (link1, link2) by @erimerturk and @x10