`

IE8下iframe中嵌套帆软报表页面显示空白问题

阅读更多
前两天项目组发现一个问题,在IE8下使用标签页+iframe显示多个页面的时候,打开其他页面都正常,但是打开使用帆软报表软件(FineReport)开发的报表页面就显示空白,奇怪的的是看状态栏有加载相应页面,而且改变一下iframe的窗口大小(例如按F11全屏)页面就会立刻显示出来,感觉就是页面从服务端加载后受到什么阻塞没有最终渲染出来。问题很难诊断,特别是现在都升级到IE9/IE10了,使用开发人员调试工具(F12)切换成IE8的浏览器模式查看时运行正常(可能是修复了以前的BUG),远程到项目组查看又各种慢和不方便,把我纠结死。今天在同事的帮助下,借助她电脑上的IE8,经过反复测试验证,终于打到了问题所在T_T,赶紧记录下来,以免忘记。

由于整体是使用了DIV+iframe搭的框架,DIV元素有absolute和relative各种定位,而影响报表页面加载的“罪魁祸首”即是iframe上层节点中"position:relative"的定位(我还是更怪罪IE8的BUG!其他版本IE及其他浏览器都米有问题呀~~),解决方法非常简单:iframe样式也加上"position:relative"。

但我现在仍然不明白为什么上层节点(不一定是父节点)设置过position而iframe不指定postion就会出现这样的问题,目前怀疑是因为帆软报表页面里面有一些去判断或计算外层窗口位置的脚本,可能在计算时出现了问题影响到页面渲染。如有哪位大虾路过并且知道原因的,烦请相告,谢谢~
分享到:
评论
4 楼 llbz33 2016-08-18  
支持,问题解决了。使用了DIV+iframe,结果ie7 ie9都正常,ie8下得hover它的兄弟元素才会显示,找了好久原因,坑死我了
3 楼 qingyuexiao 2014-08-07  
上官竹 写道
大侠,这种情况有没有别的解决办法呀,,,,,

这个要具体情况具体调试了,我遇到的个问题改下样式就好了
2 楼 上官竹 2014-04-27  
大侠,这种情况有没有别的解决办法呀,,,,,
1 楼 wcnjeusr 2013-12-20  
支持下,问题解决了。该死的ie

相关推荐

Global site tag (gtag.js) - Google Analytics