把html放入iframe(使用javascript)

我可以创build一个空的iframe作为占位符,以便以后插入html?

换句话说,假设我有一个id为空的iframe,

我如何在其中插入HTML?

我正在使用jQuery,如果这使得它更容易。

你也可以不用jQuery来做:

var iframe = document.getElementById('iframeID'); iframe = iframe.contentWindow || ( iframe.contentDocument.document || iframe.contentDocument); iframe.document.open(); iframe.document.write('Hello World!'); iframe.document.close(); 

jQuery的HTML条形体,插入HTML的HTML和头标签。

查看此页面的源代码: http : //mg.to/test/dynaframe.html它看起来正是你想做的事情。

 $(function() { var $frame = $('<iframe style="width:200px; height:100px;">'); $('body').html( $frame ); setTimeout( function() { var doc = $frame[0].contentWindow.document; var $body = $('body',doc); $body.html('<h1>Test</h1>'); }, 1 ); }); 

不,这不对。 你可以像这样修改脚本:

 $(function() { var $frame = $('iframe'); setTimeout( function() { var doc = $frame[0].contentWindow.document; var $body = $('body',doc); $body.html('<h1>Test</h1>'); }, 1 ); }); 
 iframeElementContainer = document.getElementById('BOX_IFRAME').contentDocument; iframeElementContainer.open(); iframeElementContainer.writeln("<html><body>hello</body></html>"); iframeElementContainer.close(); 

是的,我知道这是可能的,但主要的问题是,我们不能从外面处理框架,我已经加载了一些其他的东西。

 $(function() { var $frame = $('<iframe style="width:200px; height:100px;">'); $('body').html( $frame ); setTimeout( function() { var doc = $frame[0].contentWindow.document; var $body = $('body',doc); $body.html('<h1>Test</h1>'); }, 1 ); }); 

但如果我们开始

 <iframe src="http:/www.hamrobrt.com"> <---Your Script to put as you like---> 

那么它不可能打出来。

我也有同样的问题,在哪里我必须显示iframe中的HTML代码片段dynamic从数据库没有iframe的SRC属性,我修复了下面的代码相同的问题

我希望这会帮助有同样要求的人。

jsfiddle的例子在这里

HTML:

 <iframe src="" frameborder="0" class="iframe"></iframe> <iframe src="" frameborder="0" class="iframe"></iframe> <iframe src="" frameborder="0" class="iframe"></iframe> <iframe src="" frameborder="0" class="iframe"></iframe> 

JS

 <script> var doc,$body; var txt = Array( '<style>body{background-color:grey} h1{background-color:red;font-weight:900}</style><h1>Cool!!! this is text for</h1><p>First Iframe</p>', '<style>body{background-color:pink}h1{background-color:green;font-weight:200}</style><h1>Cool This is Text for</h1><p> second Iframe', '<style>body{background-color:yellow}h1{font-weight:400}</style><h1>Cool..... This is text FOR : </h1> <div>3rd Iframe</div>', '<style>body{background-color:blue} h1{font-weight:400}</style><h1>Cool This is text for Fourth iframe</h1>' ); $('.iframe').each(function(index,value){ doc = $('iframe')[index].contentWindow.document; $body = $('body',doc); $body.html(txt[index]); }); </script>