我有一个 IFRAME,应该填充来自 JavaScript 的内容。如果内容在服务器上,我所要做的就是:
function onIFrameFill() {
myIframe.location.href = "HelloWorld.html";
}
但是我拥有的内容是在客户端生成的HTML页面并表示为字符串(我对它没有太大影响)。如何以编程方式填充 iframe 的内容?
我有一个 IFRAME,应该填充来自 JavaScript 的内容。如果内容在服务器上,我所要做的就是:
function onIFrameFill() {
myIframe.location.href = "HelloWorld.html";
}
但是我拥有的内容是在客户端生成的HTML页面并表示为字符串(我对它没有太大影响)。如何以编程方式填充 iframe 的内容?
我认为您正在寻找类似的东西:
var iframeDoc = myIframe.contentWindow.document;
iframeDoc.open();
iframeDoc.write('hello world');
iframeDoc.close();
尝试设置但不起作用。Jeffery To 的解决方案有效。只是想添加可能在旧浏览器中不起作用(阅读 IE 旧版本),这样你就可以做到
.innerHTML
myIframe.contentWindow
var iFrameWindow = myIframe.contentWindow || myIframe.documentWindow;
var iFrameDoc = iFrameWindow.document;
然后使用上面的文档 open()、write() 和 close()。
怎么样.innerHTML
?
myIframe.innerHTML = "This is some HTML <b>text</b>";
与 Jeffry 类似,但contentDocument
改为使用。
let iframe = document.querySelector('iframe');
let doc = iframe.contentDocument;
doc.open();
doc.write('Hello world!');
doc.close();