我有一个用HTML编写的文档,需要从本地硬盘驱动器中分发和读取。 HTML包含引用本地硬盘驱动器上的SVG的img标记。这在Firefox中运行良好,但在IE 9中根本不起作用,只是图形应该是的空白区域。 IE的版本不受我的控制,因此我必须使用它。如果我切换到不同的图形类型,比如PNG,它可以正常工作。如果我将PNG图像数据嵌入SVG中,它也会显示出来。但如果它只是一个SVG,没什么。我用一些更简单的HTML和SVG重新创建了这个问题:
<!DOCTYPE html>
<html>
<head>
<title>Purpose: Test SVG Rendering in IE9</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=9">
<!--meta charset="UTF-8"-->
<meta name="viewport" content="width=device-width">
</head>
<body>
<h1>Testing SVGs 5</h1>
<p>SVG should render below:</p>
<img src="sample.svg" alt="Sample SVG">
<p>SVG should have rendered above. Works PNG below:</p>
<img src="works-icon.png" alt="Sample PNG">
</body>
</html>
SVG:
<svg width="300" height="300" viewBox="0 0 300 300">
<path d="M150 0 L75 200 L225 200 Z" />
</svg>
我已经阅读了尽可能多的类似问题,但到目前为止还没有解决这个问题的运气。
其他有用的信息可能是IE正在浏览器模式IE9和IE9标准的文档模式下运行。操作系统是Windows 7。
我们非常感谢任何建议。
提前致谢。
答案 0 :(得分:0)
我的问题最终变成了2倍。我的SVG需要这样的命名空间信息:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
width="300"
height="300"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 300 300">
<path d="M150 0 L75 200 L225 200 Z" />
</svg>
另一个问题来自于导致问题的原始文档使用<object>
标签而不是<img>
标签(因此我的原始帖子并不是完整问题的准确表示)。 IE9显然允许您通过<object>
标记将其他格式的图形添加到HTML文档中,而不是SVG。