解决方案 »

  1.   

    参考http://www.cnblogs.com/xiaopin/archive/2012/03/26/2418152.html
      

  2.   

    更奇怪的是,在360浏览器地址栏写:http://localhost/aaa,显示的是非IE的格式的页面,不论是window.offsetHeight或者<html>.offsetHeight还是<body>.offsetHeight,还是其他“Height”值,都是不正常的高度;而写:http://mycomputer/aaa,显示的却是IE格式的页面,而且高度是正常的。很奇怪。
      

  3.   

     window.onload=function(){
        var hgt=document.body.clientHeight;
        this.parent.ifmResize(hgt);
     }  //子页面
     function ifmResize(hgt){
            var ifm=document.getElementById('ifr');
            ifm.height=hgt+"px";
     } //父页面
      

  4.   

    终于搞清楚了是怎么回事了。居然是因为网页开头的写法上:<!-- 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" id="ht"--><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html id="ht">如果 用上三行的代码,文档的几个高度,script语句中的几个对象的几个Height值都会乱了的,除了用body.scrollHeight可以。
    而用下面两行代码的话,就可以正常了。
    又,如果用IE打开的话,所有的Height都可以正常计算出来,
    下面是在正常的情况下,几个对象的几个Height值(当然,不同的电脑会有不同的值)。window.document.documentElement.offsetHeight:523,  cleintHeight:0,  scrollHeight:523
    document.documentElement.offsetHeight:523,  clientHeight:0,  scrollHeight:523
    body.clientHeight:519,   offsetHeight=523,   scrollHeight=308
    html.clientHeight:0,   offsetHeight=523,   scrollHeight=523
    document.body.clientHeight:519,  offsetHeight:523,  scrollHeight:308另外,如果用“ XHTML 1.0 ”的话,<a onclick="exit()" style="cursor:hand">[退出]</a>,这里面的“ style="cursor:hand"”,是无效的,不能变成手掌出来。想问问:
    1、<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    有什么不同?
    我现在知道的是:HTML 4.01有很多功能,XHTML 1.0是没有的。特别是那些计算Height和Width的。2、用360浏览器http://localhost和用http://mycomputer来打开同一个网址,为何显示会不一样?谢谢。
      

  5.   

    1、 xml 1.0 大小写敏感  所有标志要关闭 属性名须加引号 等,网上资料多  ,html格式要求没有xhtml1那么严格。脚本主要跟浏览器引擎相关,不是文档类型。
    2 、不知道你的360浏览器什么版本,或者电脑如何配置,我的360没办法用mycomputer开启本地http服务器。
    3 、在3#给出的代码不论是在父页面添加iframe的Onload事件还是分开嵌入子页面,在包括IE 和360中显示都没有问题
    4 、cursor:pointer 是手形指针的标准写法
      

  6.   

    终于解决了。
    加了一个是否IE浏览器的判断,然后,如果是IE浏览器的话,就用一条式子,不是的话,用另一个式子。很奇怪,要这样解决。居然找不到通用于IE和非IE的语句。var b=true;
    var bb=(navigator.userAgent.indexOf("MSIE")>-1);
    var w1=600;
    function resizeIframe(){if(b){
    if (bb)
    w1=window.document.documentElement.offsetHeight;
    else{
    var s1=window.screen.availHeight; //这个值可能会变,因为手机屏幕会转
    // alert("这不是IE浏览器。");
    w1=document.body.scrollHeight;
    if (w1<300) {w1=400;} //用了这个,比300小的,就等于400个像素。
    else if (w1>s1) {w1=s1;}
    }
    document.getElementById("main").height=w1-45;
    }b=!b;}
    resizeIframe();
    window.onresize=resizeIframe;