在IE8上不渲染的SVG +
问题描述:
我对我的SVG图像使用SVG spritemaps,包含在单个文件中并利用该标记。在IE8上不渲染的SVG +
对于防爆,我.svg文件包含
<symbol id="file">
<path>....
</symbol>
,我使用SVG的HTML作为
<svg>
<use xlink:href="pathtosvg/main.svg#file"></use>
</svg>
有任何解决方法还是我必须为所有人创造个人SVG图像svgs? TIA
答
IE8根本不支持SVG。
IE9支持它,但缺少一些重要功能,包括外部元素。
你可以看到更多关于这里的支持的功能:http://caniuse.com/#search=svg
IE8和早期做支持一个名为VML的替代矢量格式是专有的IE浏览器。这在IE9中不赞成使用SVG,但有许多JavaScript库可用于将SVG转换为VML,以允许在较旧的IE版本中向后兼容SVG。即使在非常旧的IE版本中,这些库也可以允许一些SVG图像成功显示。
您可能想尝试一些这些库。你可以在这里找到它们的列表(和其他polyfill库):https://github.com/Modernizr/Modernizr/wiki/HTML5-Cross-browser-Polyfills#svg。
但是我怀疑你总是会努力,因为即使使用这些polyfills,许多SVG功能仍然不受支持。
底线是,如果您确实需要支持旧的IE版本,那么您需要重新考虑您对现代浏览器功能的使用。特别是IE8是一个非常古老的浏览器,并且根本没有我们在现代浏览器中所期望的那种功能。删除功能或删除浏览器。
IE8不支持SVG。 IE9是第一个版本。 –
是的,但即使在IE9 SVG spritemaps不显示。就像我说的,我想为“IE8 +” – melvindidit
解决方法我不认为IE9支持外部使用元素。它例如失败了[SVG测试套件测试](http://www.w3.org/Graphics/SVG/Test/20110816/svg/struct-use-05-b.svg)。 –