js将字符串网页代码write进iframe效果没有渲染出来

js将完整的一段网页代码,以字符串的形式一下write进iframe后,easyUI的效果没有渲染出来

 var doc = document.getElementById(this.containerId).contentDocument || window.frames[this.containerId].document;
var html = "<!DOCTYPE html>
<html lang="en">
<head>...</head>
<body>...</body>
</html>   ";
doc.write(html);

效果是下图这样的,怎么让效果渲染出来呢?
图片说明

没问题。。如果file测试注意不要使用chrome,访问不了iframe,要发布网站后通过http测试


<iframe id="myid"></iframe>
<script>
    var s = '<html><head><link rel="stylesheet" type="text/css" href="https://www.jeasyui.com/easyui/themes/default/easyui.css">'
        + '<link rel="stylesheet" type="text/css" href="https://www.jeasyui.com/easyui/themes/icon.css">'
    + '<script type="text/javascript" src="https://code.jquery.com/jquery-1.9.1.min.js"><\/script>'
    +'<script type="text/javascript" src="https://www.jeasyui.com/easyui/jquery.easyui.min.js"><\/script></head><body>'
    + '<a href="javascript:void(0)" class="easyui-linkbutton" iconCls="icon-add" plain="true" onclick="newUser()">New User</a>'
    +'<input class="easyui-filebox" label="File1:" labelPosition="top" data-options="prompt:\'Choose a file...\'" style="width:100%">'
    + '</body></html>'
    var doc = document.getElementById('myid').contentWindow.document;
    doc.open()
    doc.write(s)
    doc.close()
</script>

用innerHTML而不是write

为什么不用jsp页面写,这样以字符串的形式一下write一行一行太费事费力了。
你的问题是为什么没得easyUI的效果,你看看你导入JS,CSS文件的。还有看看浏览器。控制台的报错

我记得加入HTML不是用innerHTML吗?你把doc.write(html);改为doc.innerHTML(html);试下吧