我需要在沙盒视图中显示内容,主要是完整的html文档(<html>...</html>
)。我正在使用带有 src datauri 的沙盒iframe。
var
iframe = document.createElement('iframe'),
content = '<html><head></head><body><h1>Hello</h1></body></html>'
;
iframe.sandbox = '';
iframe.src = 'data:text/html;charset=utf-8,' + content;
document.body.appendChild(iframe);
不幸的是,Internet Explorer不支持... 有解决方案/解决方法吗?
答案 0 :(得分:4)
我的解决方案:
index.html
,只是为了拥有相同的原始iframe。
function ReplaceIframeContentCtrl() {
var iframe = document.getElementById('test');
var content = "<html><head></head><body><h1>Hello</h1></body></html>";
iframe.contentWindow.document.open();
iframe.contentWindow.document.write(content);
iframe.contentWindow.document.close();
}
document.addEventListener('DOMContentLoaded', ReplaceIframeContentCtrl);
<iframe id="test" src="/index.html"></iframe>
答案 1 :(得分:1)
只需创建一个空的iframe并替换它的内容即可:
function insertIframeHtml(parent, html) {
const jparent=$(parent).empty();
const iframe=$('<iframe></iframe>').appendTo(jparent)[0];
iframe.contentWindow.document.open();
iframe.contentWindow.document.write(html);
iframe.contentWindow.document.close();
}