举例。。父窗口a.asp
<div style="height:100px;">哈哈哈哈</div>
<IFRAME frameBorder=0 id=frm name=frm scrolling=yes src="b.asp" class="frm"></IFRAME>子窗口b.asp
因条件需要光标定位输入框,就用window.onload了focus(),当输入框上方的页面内容比较多时候,子窗口会自动往下滚动,并使光标停留在指定的输入框里,但问题就出现了1、如果iframe使用像素高度,父窗口顶部内容可正常显示,但因为是像素高度,所以当浏览器窗口缩放,或显示器分辨率调整,比如浏览器窗口变小后会使子窗口的下方内容无法显示出来,浏览器窗口变大时,则父窗口的下方会多出一大块空白2、如果iframe使用百分比高度,则父窗口顶部的div内容会被部分隐藏掉(也就是显示高度缩小)3、如果父窗口的div也用iframe方式,则div里的下拉菜单会被b.asp那个iframe覆盖掉这问题要怎么解决呢?想要的效果就是:
顶部div无论什么时候都不会被隐藏或覆盖(这块我用来做下拉菜单,并不随子窗口b.asp的滚动而滚动;
无论浏览器窗口放大缩小或显示器分辨率缩放,子窗口b.asp的内容都可以完全滚动显示,且父窗口a.asp不会出现空白

解决方案 »

  1.   

    可以根据装载进来的子页面,用JS动态调整IFRAME的高度,或者宽高。
      

  2.   

    我是这么做的,读取scrollHeight,减去顶部DIV高度,onload出iframe高度可这么做有个不足的是,分辨率一变化,或窗口大小一变,(当窗口由小变化时)父页面的底部可能会出现空白,(当父窗口由大变小)子页面的滚动可能底部部分内容无法显示出来,即使滚动条滚到最低