用iframe来加载页面时,如果目标页面的最外层用的是div,但是div的css样式里没有设置height,那么在firefox里,无论用什么代码来获取这个页面的高度,都获取不到的(至少我找了N种方法,都不好用);如果目标页面的最外层用的是table,那么在firefox里就可以获取到了。
最近项目在改版,遇到了这个问题,iframe加载的代码都没变,但是新版页面就是加载不进来(或者说加载进来了,但就是现实不出来——在firefox里),而老版本的页面就没这问题。花了点时间仔细对比了一下,最终发现是由于上面那个原因所导致的。
解决方法,在新版页面最外层的div外面,套一个table(懒人做饭,肯定不是最好的解决方案);或者把div改成table;或者给div的css设置height。
终究其根本原因还是table和div加载方式不同所导致的。