关于这个问题,我已经调查了好久,基本是不可能。
但是也不是完全那么绝对,ajax的xmlhttp好像可以实现。
但是如果直接用这种方法的话,遇到相对路径的链接就会找不到原文件。我曾经研究出了一种比较苯的方法,那就是先用xmlhttp取到scr的scrollheight,
然后再替换成实际的页面。
这样做有不好的方面,我先声明一下:
1: scr页面要打开两次
2: 页面被打开两次,那么速度就被降低了。如果你的程序对速度要求不是很严的话,可以尝试尝试这种方法。
声明:  这是我查到的跨域访问的唯一方法(前提是跨域文件不可以修改,如果可以修改就比较简单了,我现在就是用的可以修改的那种方法,在我的网站的主页使用,到现在为止还挺好的,呵呵)

解决方案 »

  1.   

    var dyniframe=new Array();
    for (i=0; i<iframeids.length; i++)
    {
    if (document.getElementById)
    {
    dyniframe[dyniframe.length] = document.getElementById(iframeids[i]);
    if (dyniframe[i] && !window.opera)
    {

    url = dyniframe[i].src;
    // code for Mozilla, etc. 
    if (window.XMLHttpRequest) 

    xmlhttp=new XMLHttpRequest(); 

    // code for IE 
    else if (window.ActiveXObject) 

    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 


    if (xmlhttp) 

    //xmlhttp.onreadystatechange=xmlhttpChange; 
    xmlhttp.open("GET",url,true); 
    xmlhttp.send(null);  if(xmlhttp.readyState == 4)
    {
             iframeids[i].document.designMode="On";
             iframeids[i].document.open();
            iframeids[i].document.write(xmlhttp.responseText);
             iframeids[i].document.body.contentEditable="true";
             iframeids[i].document.close();
    }

    var len = iframeids[i].document.body.scrollHeight;
    dyniframe[i].height = len;

    len = iframeids[i].document.body.scrollHeight;
    dyniframe[i].height = len + 30;
    //xmlhttp.close();
    iframeids[i].document.designMode="Off";
    iframeids[i].document.clear();
    iframeids[i].URL=url;
    }
    }
    }
    }这是我说得打开两次页面的方法,应该可以解决你的问题
      

  2.   

    谢谢.
    xhttp能读取到scrollheight吗?是怎么读取的?能提供这点的提示代码吗?跨域文件可以修改是怎么实现的?
      

  3.   

    iframeids[i].document.body.scrollHeight   这句话就是scr页面的scrollheight
    用xmlhttp读取的流程,你可以去看看网上关于ajax的说明,比如下面的两句话是什么意思,你可以自己去调查调查。
     xmlhttp.open("GET",url,true); 
     xmlhttp.send(null); 
    、、、、、、、、、、、xmlhttp.responseText   是从scr页面读取到的代码
    iframeids[i].document.write(xmlhttp.responseText);  是把那些代码写入iframe文档
    iframeids[i].document.body.scrollHeight    就是取得iframe页面的scrollheight这样你应该明白了吧
    至于修改跨域文件,前提是跨域文件是你做的,这个是前提条件。
    别人的网页在iframe是不允许你给他修改的,这是ie的自身功能
      

  4.   

    谢谢.
    1\明白了,其实是把对方页面内容读过来,写入到自己定义的iframe,在取得这个iframe的高\宽;
    2\自己做的网页怎么定义为可修改的呢?