SVG不能在IE8 +上呈现

时间:2015-09-05 11:52:12

标签: internet-explorer svg

我使用SVG精灵图片作为我的SVG图片,包含在一个文件中并使用该标记。

对于Ex,我的.svg文件包含

<symbol id="file">
 <path>....
</symbol>

我在html上使用svg作为

<svg>
<use xlink:href="pathtosvg/main.svg#file"></use>
</svg>

是否有任何解决方法或我是否必须为所有svg创建单独的svg图像? TIA

1 个答案:

答案 0 :(得分:1)

IE8根本不支持SVG。

IE9支持它,但缺少一些重要功能,包括外部元素。

您可以在此处查看有关支持功能的更多信息:http://caniuse.com/#search=svg

IE8和早期的 do 支持一种名为VML的替代矢量格式,它是IE专有的。在IE9中不赞成使用SVG,但有许多JavaScript库可用于将SVG转换为VML,以便在旧的IE版本中向后兼容SVG。即使在非常旧的IE版本中,这些库也可以允许一些SVG图像成功显示。

您可能想尝试其中一些库。您可以在此处找到它们(以及其他polyfill库)的列表:https://github.com/Modernizr/Modernizr/wiki/HTML5-Cross-browser-Polyfills#svg

但是我怀疑你总是会挣扎,因为即使使用这些polyfill,许多SVG功能仍然不受支持。

最重要的是,如果你真的需要支持旧的IE版本,那么你需要重新考虑使用现代浏览器功能。 IE8特别是一个非常古老的浏览器,并且根本没有我们在现代浏览器中期望的那种功能集。删除功能或删除浏览器。