您的位置:首页 > 其它

BIRT 在IE10浏览器显示不全解决方案

2014-04-01 15:46 246 查看
问题描述:

这几天一直在做BIRT,集成到项目中时在IE浏览器上显示不完整,困扰了好长时间,最后通过单个页面的排查成功解决问题。

解决思路:

通过谷歌,百度搜索到解决方案为 在head下加上文档模式(IE=EmulateIE7),页面加上以后还是没有显示,真的纳闷,

搜索结果解决方法基本都是设定文档模式(IE10以后不支持文档模式),以为是IE已经不支持了,怀疑方法的正确性,查看BIRT显示页面(birt\pages\layout\FramesetFragment.jsp),

代码如下:<!-- Mimics Internet Explorer 7, it just works on IE8. -->

<META HTTP-EQUIV="X-UA-Compatible" CONTENT="IE=EmulateIE7">

真的很怀疑IE不支持了,继续查看BIRT js文件,越来越怀疑,以至于陷于困惑当中,

实在不行重新开始整理,分析问题,通过单个页面浏览,可以完整显示,说明不是IE 的问题,报表也没问题,查看集成页面代码,发现页面使用了iframe,

开始怀疑iframe的问题,单独新建页面,使用iframe嵌入BIRT报表,浏览显示不完整,设定页面文档模式,页面显示完整。

结论:问题出在页面的iframe,设定页面文档模式后引入BIRT报表,则页面会依照文档模式显示(BIRT页面文档模式已设定为IE=EmulateIE7)。

解决方法:

在页面的头部加上如下代码:

<!Doctype html>

<html xmlns=http://www.w3.org/1999/xhtml>

<head>

<meta http-equiv=X-UA-Compatible content=IE=EmulateIE7>

以上代码是百度首页设置的文档读取模式

找到问题后,修改集成代码,发现页面嵌套了好几成iframe,对于涉及到的页面都设置文档读取模式,再次浏览,问题解决。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: