如何让 SVG 与 IE 兼容?
-
07-07-2019 - |
题
有人知道使 SVG 与 IE(特别是 7 和 8)兼容的综合库吗?
我想要一些可以包含在我的网页中的 Javascript,它会以类似于 excanvas 对 Canvas 所做的方式默默地将我的所有 SVG 转换为 VML。
解决方案
这 Raphaël—JavaScript 库 可以帮助你。
Raphaël 使用 SVG W3C 推荐标准和 VML 作为创建图形的基础,并支持 Firefox 3.0+、Safari 3.0+、Opera 9.5+ 和 Internet Explorer 6.0+。
编辑:
还有两个 js 库使用 vml 在 IE 中渲染 svgs:
其他提示
Google的SVG网站就是这样做的。根据项目网站:
SVG Web是一个JavaScript库 在许多浏览器上提供SVG支持, 包括Internet Explorer,Firefox, 和Safari。使用库加 本机SVG支持您可以即时 目标〜现有安装的95% 网络基础。
虽然它被描述为JavaScript库,但它也需要Flash 9+。这通常不是问题,但是如果您在公司环境中使用旧Flash或工作站上没有Flash,那么它将不起作用。
此外,它仍然处于Alpha状态,这可能是一个问题,具体取决于您的项目。
我认为 SVGWeb 是可行的方法,即使它是基于Flash的对于许多应用程序来说,VML远远不够快。
Adobe 提供脚本来自动检测、安装并将您重定向回原始站点:
http://support.adobe.com/devsup/devsup.nsf/docs/51780.htm
http://www.adobe.com/svg/workflow/autoinstall.html
我在我的网站上使用这个相当成功。
更低技术的解决方案是使用类似svg_alike的东西(在此插入利益冲突通知:))。它检查SVG支持,如果没有找到它,它将用PNG替换所有SVG图像。
https://github.com/forwardadvance/svg_alike
您失去了平滑矢量缩放和视网膜支持的优势,但IE8用户无论如何都不太可能使用这些功能。
优点是您不必将图像转换为JavaScript。我认为它为5%的工作提供了80%的价值。