我使用ReportEngine API 创建了一个运行并呈现BIRT报告的servlet .
唯一的问题是在Internet Explorer 8或7中没有显示SVG图像(图表).在运行官方BirtViewer Web应用程序时,它们也会显示在IE8下. 我偷看了BirtViewer生成的HTML并注意到了这个元标记:
<!-- Mimics Internet Explorer 7, it just works on IE8. -->
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7">
Run Code Online (Sandbox Code Playgroud)
所以我尝试在我自己生成的HTML中手动添加它,但没有任何更改.我也尝试通过servlet(这是常规方式)编写它:
response.setHeader("X-UA-Compatible", "IE=EmulateIE7");
Run Code Online (Sandbox Code Playgroud)
在setContentType指令后立即,但它甚至没有输出元标记...
编辑:这是由BirtViewer官方webapp生成的HTML(我清理了这里没有兴趣的部分):
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
<html>
<head>
<title>BIRT Report Viewer</title>
<base href="http://192.168.81.92:5080/BirtViewer/webcontent/birt">
<!-- Mimics Internet Explorer 7, it just works on IE8. -->
<meta content="IE=EmulateIE7" http-equiv="X-UA-Compatible">
<meta content="text/html; CHARSET=utf-8" http-equiv="Content-Type">
<!-- a lot of scripts -->
</head>
<body class="BirtViewer_Body" style="overflow: hidden; direction: ltr"
leftmargin="0px" …Run Code Online (Sandbox Code Playgroud)