2010-04-19 41 views
10

我有一个IFRAME,应该填充来自JavaScript的内容。有了内容是服务器我不得不这样做是:使用JavaScript中的动态内容填充IFRAME

function onIFrameFill() { 
     myIframe.location.href = "HelloWorld.html"; 
    } 

但我有内容是在客户端上生成的,并表示为一个字符串的HTML页面(我有它没有太大的影响)。我如何以编程方式填充我的iframe的内容?

回答

21

我认为你正在寻找的东西,如:

var iframeDoc = myIframe.contentWindow.document; 
iframeDoc.open(); 
iframeDoc.write('hello world'); 
iframeDoc.close(); 
+1

对于我在Chrome版本41.0.2272.76 m中,如果您没有首先打开()iframeDoc,那么它会*追加*文本;如果你打开()它清除了iframeDoc和*覆盖*文本。您可以编写('加粗'),HTML将被解释为标签。 – 2015-03-04 18:26:32

+0

进一步阅读在http://stackoverflow.com/a/10433550/1532274 – 2015-07-06 17:51:53

0

什么.innerHTML

myIframe.innerHTML = "This is some HTML <b>text</b>"; 
+0

我试过,但它没有奏效。 – user256890 2010-04-19 08:23:54

4

尝试设置.innerHTML但这不起作用。杰弗瑞解决方案工作。只是想补充一点,myIframe.contentWindow可能无法在旧版浏览器工作(读IE旧版本),所以你可以做

var iFrameWindow = myIframe.contentWindow || myIframe.documentWindow; 
var iFrameDoc = iFrameWindow.document; 

然后使用文件的open(),write()方法& close()方法同上。