JavaScript如何获取iframe的内容?急求!!!
文件1.html
文件2.html(被引入的文件)。<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
</head><body>
<script language="javascript" type="text/javascript">
var cnt=document.frames["ifmUpload"].document.body.innerText;
alert(cnt);
</script>
<iframe id="ifmUpload" name="ifmUpload" style="width:300px;height:100px;display:;" src="2.html"></iframe>
</body>
</html>文件2.html全部源码如下(全部源码,没有html标记):
{"response":"ok","message":"ok"}

解决方案 »

  1.   

    是要得到 html 还是 文本啊?
    innerHTML 啊。
      

  2.   


    window.onload = function(){
    alert(window.frames["ifmUpload"].document.body.innerHTML);
    }
      

  3.   


    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    <title>无标题文档</title>
    </head><body>
    <iframe id="ifmUpload" name="ifmUpload" style="width:300px;height:100px;display:;" src="bb.html"></iframe>
    </body>
    <script language="javascript" type="text/javascript">
    var cnt=document.frames["ifmUpload"];
    cnt.onload=function() {
    alert(this.document.body.innerHTML)
    }
    </script>
    </html>
      

  4.   

    支持iframe可以通过ID或者name来获取对象
      

  5.   

    楼主这个不可以吗 document.frames["main"].document.body.innerHTML
      

  6.   

    LZ,你获取的方法是正确的,但是有一个问题,你必须在dom加载完毕后执行你的JS代码,否则就会出现"为空或不是对象"的错误.
    加个window.onload=function(){代码}就行了
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    <title>无标题文档</title>
    </head><body>
    <script language="javascript" type="text/javascript">
    window.onload=function()
    {
    var cnt=document.frames["ifmUpload"].document.body.innerText;
    alert(cnt);
    }
    </script>
    <iframe id="ifmUpload" name="ifmUpload" style="width:300px;height:100px;display:;" src="2.html"></iframe>
    </body>
    </html>
      

  7.   

    不是的,iframe是用来提交表单的,并且已经被隐藏了。
    现在楼上的方法都试过了,不行。
    弹出的要么是 “”要么是undefined,但是弹出之后那个iframe里面却显示出内容了。
      

  8.   

    被提交的表单的action是带http://的,如果立即获取的话,那么是无法得到的,以为延迟了一段时间,楼上的这些方法直接用在这个给出的网页中是可以的,但是用到提交表单获取iframe的内容的时候不行的。