将一张含有图表的报表通过iframe的方式嵌入到html中,图表在ie9的quirks模式下显示不出来,其他浏览器比如说,firefox,google等浏览器下显示正常,如下图:IE9的quirks模式下:
工具/原料
excel报表工具FineReport
解决思路
1、由于ie9下面不同解析模式,图表展现不同,IE9下的quirks模式不可以,ie9标准模式能正常展现,所以我们可以修改外层的html的说明来解决这个问题,指明默认采用ie9模式即可。
解决方案
1、方案一修改doctype,在最上方的doctype说明中声明该html在ie9下打开的时候,打开模式默认为IE标准模式,代码如下:<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2、整体代码如下:<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html><body><iframeid="total"width="800px"height="800px"src="/WebReport/ReportServer?reportlet=/doc/Primary/Chart/Chart.cpt"></iframe></body></html>
3、方案二增加一个meta标签,表明ie浏览器打开该html时,采用ie标准模式,代码如下:<metahttp-equiv="X-UA-Compatible"content="IE=9">
4、整体代码如下:<!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN"><metahttp-equiv="X-UA-Compatible"content="IE=9"><html><body><iframeid="total"width="800px"height="800px"src="/WebReport/ReportServer?reportlet=/doc/Primary/Chart/Chart.cpt"></iframe></body></html>
效果查看
1、修改将修改之后的html放在%FineReport_HOME%\WebReport目录下,在IE9地址栏输入http://ip:端口号/WebReport/xxx.html,能可以看到图表已经显示出来,就说明上面的修改成功。如下图: