<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>新建网页 2</title>
</head><body>
<script language="javascript">
function init()
{
var obj = document.createElement("iframe");   
obj.id = "aaa";   
obj.style.width   =   '425';   
obj.style.height   ='209';
obj.frameBorder='0';
obj.marginWidth='1';
obj.marginHeight='1';
obj.src='ChatContent.htm';
document.body.appendChild(obj);
objaaa=document.getElementById(obj.id);
//alert("");
objaaa.contentWindow.document.body.innerHTML="aaaaaa";
}
init();
</script>
</body></html>

解决方案 »

  1.   

    补充一下,就是现在上面的这个程序运行提示是错误的错误内容是:objaaa.contentWindow.document.body为空或不是对象
    但是把//alert("");的注释去掉,即只要弹出一下对话框就可以正确,这是怎么回事?ChatContent.htm的内容如下:
    <html><head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>新建网页 1</title>
    </head><body bgcolor="#C1E6FE" topmargin="0" leftmargin="5" rightmargin="5" bottommargin="0" marginwidth="0" marginheight="0" style="line-height: 150%; font-size: 10pt"></body></html>
      

  2.   

    最好加一个
    <body   bgcolor="#C1E6FE"   topmargin="0"   leftmargin="5"   rightmargin="5"   bottommargin="0"   marginwidth="0"   marginheight="0"   style="line-height:   150%;   font-size:   10pt"> <div id="aa"></div>
    </body>
    把下面这个
    objaaa.contentWindow.document.body.innerHTML="aaaaaa";
    改为
    objaaa.contentWindow.document.aa.innerHTML="aaaaaa";
    试试
      

  3.   

    <html>
    <head>
    <title>Untitled Document</title>
    </head><body>
    <div id="bbb">a</div>

    <script language="javascript"> 
    function init() 

    bbb.innerHTML = "AAA" var obj = document.createElement("iframe");   
    obj.id = "aaa";   
    obj.style.width = '425';   
    obj.style.height = '209'; 
    obj.frameBorder = '0'; 
    obj.marginWidth = '1'; 
    obj.marginHeight = '1'; 
    obj.src='ChatContent.htm'; 
    document.body.appendChild(obj); 
    objaaa=document.getElementById(obj.id); 
    bbb.innerHTML += "<br>";
    bbb.innerHTML += obj.readyState; alert(obj.readyState != 'complete');
    bbb.innerHTML += "<br>";
    bbb.innerHTML += obj.readyState;
    alert(obj.readyState != 'complete'); objaaa.contentWindow.document.body.innerHTML="aaaaaa"; 

    init(); 
    </script> 
    </body>
    </html>你的iFrame还没加载完毕!
      

  4.   

    那么如何延迟?setTimeout我试了,但是调用函数时我发现参数传不进去.比如:
    function k(a)
    {}
    function test()
    {
    obj=document.getElementById("FrameId")
    setTimeout(k(obj),1000);运行总是不对
      

  5.   

    不一定要用setTimeout,还有一个
      

  6.   

    <html>
    <head>
    <title>Untitled Document</title>
    </head><body>
    <div id="bbb">a</div>

    <script language="javascript"> 
    function init() 

    bbb.innerHTML = "AAA" var obj = document.createElement("iframe");   
    obj.id = "aaa";   
    obj.style.width = '425';   
    obj.style.height = '209'; 
    obj.frameBorder = '0'; 
    obj.marginWidth = '1'; 
    obj.marginHeight = '1'; 
    obj.src='ChatContent.htm'; 
    document.body.appendChild(obj); 
    objaaa=document.getElementById(obj.id);  bbb.innerHTML += "<br>";
    bbb.innerHTML += objaaa.readyState;

    setTimeout("k()",1); 
    } function k() 
    {
    objaaa=document.getElementById("aaa"); 
    if(objaaa.readyState == 'complete')
    {
    objaaa.contentWindow.document.body.innerHTML="aaaaaa"; 
    }
    else
    {
    setTimeout("k()",1); 
    }
    } init(); 
    </script> 
    </body>
    </html>