如果不跨域的话直接通过dom对象去访问就行了。
<html>
<head>
<title></title>
</head>
<body>
<iframe src="javascript:document.write('Hello World!')" name=iframe1></iframe>
<SCRIPT LANGUAGE="JavaScript" defer>
<!--
alert(iframe1.document.body.innerHTML)
//-->
</SCRIPT>
</body>
</html>如果跨了域,出于安全性考虑,浏览器禁止了的。除非写hta并且允许了iframe的application属性
<iframe application="yes" src="http://www.csdn.net">...

解决方案 »

  1.   

    谢谢,我的意思是iframe1里面又有iframe2,我想读取iframe2的body里面的内容
      

  2.   

    那还不是一样,dom的层次可以一直递归定义下去的嘛。<html>
    <head>
    <title></title>
    </head>
    <body>
    <iframe src="javascript:document.write('<iframe name=iframe2 src=&quot;javascript:document.write(123)&quot;></iframe>')" name=iframe1></iframe>
    <SCRIPT LANGUAGE="JavaScript" defer>
    <!--
    alert(iframe1.iframe2.document.body.innerHTML)
    //-->
    </SCRIPT>
    </body>
    </html>
      

  3.   

    理论上引号也可以一直递归下去的,但是我只能递归到这一层,再下去要怎么写呢?<iframe src="javascript:document.write(&quot;<iframe name=iframe2 src=\&quot;javascript:document.write('Hello World !')\&quot;></iframe>&quot;)" name=iframe1></iframe>
      

  4.   

    哈哈,终于想到了引号的递归定义应该怎么写:
    <html>
    <body>
    <!-- <iframe src="javascript:document.write(&quot;<iframe name=iframe2 src=\&quot;javascript:document.write('<iframe name=iframe3 src=\\\'javascript:document.write(123)\\\'></iframe>')\&quot;></iframe>&quot;)" name=iframe1></iframe> -->
    <iframe src="javascript:document.write(&quot;<iframe name=iframe2 src=\&quot;javascript:document.write(&amp;quot;<iframe name=iframe3 src=\\\&amp;quot;javascript:document.write(&amp;amp;quot;<iframe name=iframe4 src=\\\\\&amp;amp;quot;javascript:document.write(\\\\\\\&amp;amp;amp;quot;Hello World !\\\\\\\&amp;amp;amp;quot;)\\\\\&amp;amp;quot;></iframe>&amp;amp;quot;)\\\&amp;quot;></iframe>&amp;quot;)\&quot;></iframe>&quot;)" name=iframe1></iframe>
    <SCRIPT LANGUAGE="JavaScript" defer>
    <!--
    alert(iframe1.iframe2.iframe3.iframe4.document.body.innerHTML)
    //-->
    </SCRIPT>
    </body>
    </html>