2015-09-05 76 views
0

我對我的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

+1

IE8不支持SVG。 IE9是第一個版本。 –

+0

是的,但即使在IE9 SVG spritemaps不顯示。就像我說的,我想爲「IE8 +」 – melvindidit

+0

解決方法我不認爲IE9支持外部使用元素。它例如失敗了[SVG測試套件測試](http://www.w3.org/Graphics/SVG/Test/20110816/svg/struct-use-05-b.svg)。 –

回答

1

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是一個非常古老的瀏覽器,並且根本沒有我們在現代瀏覽器中所期望的那種功能。刪除功能或刪除瀏覽器。