带有 SVG 图像的 Sphinx 文档不会在 IE11 上呈现
Sphinx docs with SVG images won't render on IE11
我目前正在构建 Sphinx 文档并拥有由 graphviz 构建并生成为 SVG 图像的 UML 图。此 SVG 文件放置在 Sphinx auto-generated 的 html 模板中。
SVG 在 Chrome 和 Firefox 上显示没有问题,但是 IE11 不显示。我必须在 html 中调整什么才能显示图像吗?
顺便说一下,与 PNG 图像相同的 html 在任何地方都适用(Chrome、Firefox 和 IE11)。
这是 html 的一部分,应该渲染 svg 文件。
<div class="section" id="uml-class-diagram">
<h1>UML Class Diagram<a class="headerlink" href="#uml-class-diagram" title="Permalink to this headline">¶</a></h1>
<object data="_images/graphviz- 9fe511f008ffbdc169ab624ae589b7c8a000c75f.svg" type="image/svg+xml"><p class="warning">digraph "classes_kats4" {SOME GRAPH TO BE DISPLAYED}</p></object>
</div>
这是header:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>UML Class Diagram — xx documentation</title>
<link rel="stylesheet" href="_static/sphinxdoc.css" type="text/css" />
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT: './',
VERSION: 'xx',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true,
SOURCELINK_SUFFIX: '.txt'
};
</script>
<script type="text/javascript" src="_static/jquery.js"></script>
<script type="text/javascript" src="_static/underscore.js"></script>
<script type="text/javascript" src="_static/doctools.js"></script>
</head>
我明白了,问题不在于 SVG 本身,因为我可以使用 IE11 打开图像。
解决方案在这里SVG as source in <img> tag not displaying in Internet Explorer 11。
我必须通过添加标签来禁用兼容性视图:
<meta http-equiv="X-UA-Compatible" content="IE=edge">
我目前正在构建 Sphinx 文档并拥有由 graphviz 构建并生成为 SVG 图像的 UML 图。此 SVG 文件放置在 Sphinx auto-generated 的 html 模板中。
SVG 在 Chrome 和 Firefox 上显示没有问题,但是 IE11 不显示。我必须在 html 中调整什么才能显示图像吗?
顺便说一下,与 PNG 图像相同的 html 在任何地方都适用(Chrome、Firefox 和 IE11)。
这是 html 的一部分,应该渲染 svg 文件。
<div class="section" id="uml-class-diagram">
<h1>UML Class Diagram<a class="headerlink" href="#uml-class-diagram" title="Permalink to this headline">¶</a></h1>
<object data="_images/graphviz- 9fe511f008ffbdc169ab624ae589b7c8a000c75f.svg" type="image/svg+xml"><p class="warning">digraph "classes_kats4" {SOME GRAPH TO BE DISPLAYED}</p></object>
</div>
这是header:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>UML Class Diagram — xx documentation</title>
<link rel="stylesheet" href="_static/sphinxdoc.css" type="text/css" />
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT: './',
VERSION: 'xx',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true,
SOURCELINK_SUFFIX: '.txt'
};
</script>
<script type="text/javascript" src="_static/jquery.js"></script>
<script type="text/javascript" src="_static/underscore.js"></script>
<script type="text/javascript" src="_static/doctools.js"></script>
</head>
我明白了,问题不在于 SVG 本身,因为我可以使用 IE11 打开图像。
解决方案在这里SVG as source in <img> tag not displaying in Internet Explorer 11。
我必须通过添加标签来禁用兼容性视图:
<meta http-equiv="X-UA-Compatible" content="IE=edge">