大家好,我只是想知道是否有人使用embed标签在ie9中显示svg的经验。以下是我的代码示例:
<!DOCTYPE html>
<html><head><title>Example</title></head>
<body>
<embed id="E" height="50%" width="100%" src="example.svg">
</body>
</html>
现在这在Firefox中显示得很好,即带有Adobe插件的8,但是在9中它只是弹出一个空白框,在框的左上角有一个图像图标。有没有人有任何想法如何解决这个问题?
答案 0 :(得分:3)
虽然您的代码段包含HTML5 DocType定义,但还有其他因素会影响IE9处理HTML的方式,例如 HTTP响应标头(请参阅How Internet Explorer Chooses Between Document Modes)
我认为如果你强制IE9进入标准模式,你的SVG将由IE9呈现;要快速测试,只需使用Developer Tools来控制浏览器和文档模式。
所以,如果您的嵌入式SVG现在显示您只是想知道是什么触发IE9选择错误的文档模式。
答案 1 :(得分:1)
我不确定您的问题是否意味着您试图找出在IE9中显示SVG的任何方式,或者仅使用<embed>
标记。如果您只想在IE9中显示SVG,我建议您直接在XHTML5中嵌入SVG:
<!DOCTYPE HTML>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"><head>
<meta http-equiv="content-type" content="application/xhtml+xml; charset=utf-8" />
<title>untitled</title>
<style type="text/css" media="screen">
body { background:#eee; margin:1em }
svg { background:#fff; display:block; border:1px solid #ccc; width:100%; margin:1em -1px }
</style>
</head><body>
<svg viewBox="-500 -500 1000 1000" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" baseProfile="full">
<!-- SVG content here -->
</svg>
<script type="text/javascript"><![CDATA[
var svg = document.getElementsByTagName('svg')[0];
var svgNS = svg.getAttribute('xmlns');
// Access/manipulate your SVG here
]]></script>
</body></html>
如果你想测试这种技术,下面是一些使用在IE9中工作的SVG的示例(在我的网站上):
如果这不是您想要的,请说明您的需求。