如果页面不是被嵌在框架中的话,可以直接用window.onresize事实来实现页面大小变化的事件监听
然而如果页面被嵌在一个iframe或frameset中的话,就不一定了,这种情况我也碰到过
有人说要对frameElement的onresize事件进行监听然而现在情况却是非常不错,不管页面放在哪里,都能正确地通过window.onresize事件来监听页面大小变化
最近安装了IE8,升级了FireFox,看来这跟浏览器有关,问题是用户的浏览器不一定是最新的FireFox或IE8我的FF版本:3.0.9请教一下,谁可以帮我列出在FF和IE下,各种不同版本的情况下页面被嵌在iframe或frameset框架页中正确监听页面大小变化事件

解决方案 »

  1.   


    //此函数功能:iframe的高度 根据src调用的页面高度而变化
    function SetIheight(obj)
    {
    var win=obj;
    if (document.getElementById)
    {
    if (win && !window.opera)
    {
    if (win.contentDocument && win.contentDocument.body.offsetHeight) 
    win.height = win.contentDocument.body.offsetHeight; 
    else if(win.Document && win.Document.body.scrollHeight)
    win.height = win.Document.body.scrollHeight;
    }
    }
    }<iframe id="main" name="main" onload="Javascript:SetIheight(this)" src="" frameborder="0" width="620px" height="700px" scrolling="no"></iframe>
      

  2.   

    我要的是 onresize 事件的监听,不是初始化
      

  3.   

    iframe的size是可视范围,不关联调用页面的内容size的。
    什么操作使iframe的内容的尺寸在发生变化呢?
    如果内容尺寸的变化是iframe里的页面更换造成的,即src发生了变化,那么我上面的onload代码本身可以模仿onresize的效果了
    如果iframe的src没有变化,是内容页本身的效果。那么可以试试 把onresize的触发函数依然写在子页面里面,即window.onresize。而它触发后是去操作父页面的需求。