iframe中插入代码并执行
最近有需求通过iframe插入代码。有蛮多方法,如下:
1 var iframe = document.getElementById('previewUrl'); 2 iframe.src = 'about:blank'; 3 iframe.contentWindow.document.body.innerHTML+="12312" 4 iframe.contentWindow.document.close();
试了下,如下代码也可以:
iframe.contentWindow.document.getElementsByTagName('html')[0].innerHTML = finalHtml
不过通过innerHTML的方式插入的js代码不能执行,so,网上查了下,有如下办法可以让插入的js代码执行
1、解析finalHtml,通过documetnFragment一步一步插入到iframe,考虑到比较麻烦,没有仔细研究;
2、先通过window.frames["iframeName"]获取ifame,再通过document.write("")的方式插入代码,如下:
window.frames["previewUrl"].document.write(finalHtml);
当然大家有其他什么好办法也可以给我留言~~