使用JavaScript将字符串(如果HTML)加载到iframe中

Mr *_*ewt 6 html javascript iframe construct-2

我有一串HTML标签,可以随时添加或更改。

"<html><body><script language="javascript" src=""></script></body></html>"
Run Code Online (Sandbox Code Playgroud)

是否可以在运行时将该字符串加载到iframe中,就像它是HTML文件一样?

这是针对构造2的。我有一个对象,可以从url很好地加载HTML,它也可以插入HTML,并运行脚本,但不能按原样。

Ale*_*ara 5

当然,有几个不同的选择。

通过srcdoc(异步):

iframe.srcdoc = html;
Run Code Online (Sandbox Code Playgroud)

通过数据 URI(异步):

iframe.src = 'data:text/html;charset=utf-8,' + escape(html);
Run Code Online (Sandbox Code Playgroud)

通过document.write(同步,并在非常旧的浏览器中工作):

var idoc = iframe.contentWindow.document;
idoc.write(html);
idoc.close();
Run Code Online (Sandbox Code Playgroud)


Hac*_*sch 4

你可以这样做

document.getElementById('iframe').src = "data:text/html;charset=utf-8," + escape(html);
Run Code Online (Sandbox Code Playgroud)

请参阅下面的小提琴示例

https://jsfiddle.net/erk1e3fg/