历史版本21 :IE8或9下Web集成页面显示异常 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

1.1 问题描述

将一张含有图表的报表通过 iframe 的方式嵌入到 HTML 中,图表在 IE9 的 quirks 模式下显示不出来,其他浏览器比如说:FireFox,Google 等浏览器下显示正常,如下图:

IE9 的杂项(quirks)模式下:

其他浏览器下:

1.2 实现思路

由于 IE9 下面不同解析模式,图表展现不同,IE9 下的杂项(quirks)模式不可以,ie9标准模式能正常展现,所以我们可以修改外层的 HTML 的说明来解决这个问题,指明默认采用 IE9 模式即可。

2. 示例编辑

将报表嵌入到 HTML 中的代码如下:详见 Web 页面简单集成例子

完整代码如下:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <body>
<iframe id="total" width="800px" height="800px" src="/webroot/decision/view/report?viewlet=/doc/Primary/Chart/Chart.cpt" ></iframe>
</body>
</html>

2.1 方案一

修改 doctype,在最上方的 doctype 说明中声明该 HTML 在 IE9 下打开的时候,打开模式默认为 IE 标准模式,代码如下:


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
完整代码如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
  <body>
<iframe id="total" width="800px" height="800px" src="/webroot/decision/view/report?viewlet=/doc/Primary/Chart/Chart.cpt" ></iframe>
</body>
</html>

2.2 方案二

增加一个 meta 标签,表明 IE 浏览器打开该 HTML 时,采用 IE 标准模式,代码如下:

<meta http-equiv="X-UA-Compatible" content="IE=9">
完整代码如下:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<meta http-equiv="X-UA-Compatible" content="IE=9">
<html>
  <body>
<iframe id="total" width="800px" height="800px" src="/webroot/decision/view/report?viewlet=/doc/Primary/Chart/Chart.cpt" ></iframe>
</body>
</html>

2.3 预览效果

修改将修改之后的 HTML 放在%FineReport_HOME%\webapps\webroot目录下,在 IE9 地址栏输入http://ip:端口号/webroot/xxx.html,能可以看到图表已经显示出来,就说明上面的修改成功。如下图: