I have the following structure.
Hello World !!
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.
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