Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/478.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使SVG与IE一起工作?_Javascript_Html_Internet Explorer_Canvas_Svg - Fatal编程技术网

Javascript 如何使SVG与IE一起工作?

Javascript 如何使SVG与IE一起工作?,javascript,html,internet-explorer,canvas,svg,Javascript,Html,Internet Explorer,Canvas,Svg,有没有人知道一个综合性的库可以让SVG与IE一起工作(特别是7和8) 我想要一些Javascript,它可以包含在我的网页中,并以类似excanvas对Canvas所做的方式将我所有的SVG默默地转换为VML。我认为这是一条出路,即使它基于Flash,因为VML对于许多应用程序来说还远远不够快。就是这样做的。根据项目网站: SVG Web是一个JavaScript库,它 在许多浏览器上提供SVG支持, 包括Internet Explorer、Firefox、, 还有狩猎。使用library pl

有没有人知道一个综合性的库可以让SVG与IE一起工作(特别是7和8)

我想要一些Javascript,它可以包含在我的网页中,并以类似excanvas对Canvas所做的方式将我所有的SVG默默地转换为VML。

我认为这是一条出路,即使它基于Flash,因为VML对于许多应用程序来说还远远不够快。

就是这样做的。根据项目网站:

SVG Web是一个JavaScript库,它 在许多浏览器上提供SVG支持, 包括Internet Explorer、Firefox、, 还有狩猎。使用library plus 本机SVG支持,您可以立即 目标约为现有已安装设备的95% 网络基地

虽然它被描述为JavaScript库,但它也需要Flash9+。这通常不是一个问题,但是如果您在一个公司环境中,工作站上有旧的闪存或没有闪存,那么它将不起作用


此外,它仍处于Alpha状态,这可能是一个问题,具体取决于您的项目。

Adobe提供脚本来自动检测、安装并将您重定向回原始站点:

我已经在我的网站上相当成功地使用了它。

可以帮助您

Raphaël使用SVG W3C建议和VML作为创建图形的基础,并支持Firefox 3.0+、Safari 3.0+、Opera 9.5+和Internet Explorer 6.0+

编辑:

还有两个js库使用vml在IE中呈现SVG:

  • (应该可以轻松集成现有svg文件)
  • 来自Dojo工具箱

    • 一个技术含量较低的解决方案是使用类似svg的东西(在此处插入利益冲突通知:))。它会检查SVG支持,如果找不到,它会用PNG替换所有SVG图像

      你失去了平滑矢量缩放和视网膜支持的优势,但IE8用户无论如何都不可能利用这些功能


      优点是您不必将图像转换为JavaScript。我认为它为5%的工作提供了80%的价值。

      -1(哲学上,而不是字面上)是基于Flash的解决方案。Flash是一种专有的供应商扼流圈技术。IE也是。它唯一适合Flash作为开放IE的解决方案。这仍处于alpha阶段。是的,基于Flash,但是网页的源代码仍然是很好的旧的开放式SVG,所以这是一个很好的方法,因为你不能期望IE在5年前就移动它的屁股。有没有替代getBBox方法的方法?Adobe的
      SVG
      实现不再被开发。事实上,我认为他们早在IE 8发布之前就停止了开发。如果它与IE8一起工作,那就是运气。它在IE8中确实工作。我已经测试过了。他们仍然支持它作为一个传统的下载。我想我已经读过它在IE8中不起作用,但很明显你已经这样做了。不过,我会对未来的任何用途保持警惕。请记住,正如其他人所说,Adobe在几年前就停止了这方面的开发工作,只提供零支持的下载链接。它明天可能会消失。你能用这个库打开svg吗?不太可能。当然,只支持svg/vml的一个子集,因此您无法真正获取svg文件并在raphael中“打开”它。但是路径synatax是相同的,因此基本上您必须将所有路径从svg复制到javascript代码中(或者编写一些自动为您执行此操作的代码)。我认为大多数人只是将他们的(简化的)路径从inkscape或其他编辑器复制到raphael代码中