在CentOS 6.5中从Tomcat 7提供服务时,内联SVG不能在IE9 +中呈现

时间:2014-12-17 09:09:27

标签: linux eclipse tomcat svg

我正在创建Eclipse Infocenter .war软件包,我使用Tomcat 7在CentOS 6.5和Windows Server 2008机器的混合上部署。我有许多SVG文件,我从人工创作的XML文档中作为参考,并直接作为内联SVG流入输出HMTL,因为这给了我一个很好的机会来调整和调整它们的演示。

当从位于Windows计算机上的tomcat服务器提供服务时,这些主题在从Chrome,Firefox和IE9 +查看时都表现正常,但是当从Linux机器提供时,IE9 +失败(小于IE9无关):任何形状数据被忽略,任何文本数据或嵌入的栅格图像数据都只是作为直接文本读取并转储到HTML中。

我的HTML测试文档打开如下:

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-us" xml:lang="en-us">
<head>
  <title>SVG Test</title>
</head>

并添加一个简单的嵌入式SVG,如下所示:

<body>
<svg xmlns="http://www.w3.org/2000/svg" width="100" height="100">
        <circle cx="50" cy="50" r="50" stroke="black" stroke-width="4" fill="red" />
</svg>
</body>

当在Windows 2008 Server上托管在tomcat 7上时,这在所有主流浏览器中呈现得很好,但在CentOS 6.5上托管在tomcat 7中时失败。

这是我缺少的tomcat中的设置还是我的HTML中的参数,我不知道下一步要去哪看。我已经在Stackoverflow中搜索了所有“SVG / Linux / Tomcat”帖子但没有成功。

1 个答案:

答案 0 :(得分:1)

eclipse帮助使用的框架集将内容类型设置为text / html,覆盖HTML页面本身的设置。添加:

<meta http-equiv="X-UA-Compatible" content="IE=edge"/> 
<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8"/>

到框架集jsp文件的头部解决了这个问题。