我需要在我正在处理的网站上显示一些交互式(附带DOM侦听器等和事件处理)矢量图形。有一个针对SVG的W3C建议,虽然这种格式仍然无法被Internet Explorer支持认可(对于公共网站而言)。 IE处理VML,甚至有javascript库可以做一些类似画布的绘图,具体取决于浏览器(SVG与VML) - excanvas,GFX of Dojo Toolkit等等。虽然它们都不能显示给定标记的SVG图像,但这样会很好并且可以接受。
所以这个问题实际上包含几个部分:
[编辑]感谢大家的意见/建议。以下是关于此事的随机笔记/结论:
[编辑2 ]出现了更多评论。我想澄清一下,“Windows锁定”是指Silverlight通常在Windows上运行的情况,更具体地说是IE。我怀疑它是其他系统上可接受的解决方案(例如Flash或Java Applet)。是的,我毫不怀疑一个能够在任何系统上启动Silverlight应用程序,但我担心这对普通用户来说太费力了。
@Akira:你对IE7上的那些“SVG渲染器”有任何问题吗?我总是抛出Javascript错误。
答案 0 :(得分:9)
Safari,Opera和Firefox都支持SVG本身(例如没有插件)不同程度的完整性和正确性,包括从javascript编写svg脚本的能力。
还有一个canvas元素现在正在html5中标准化,并且在上述浏览器中也已经支持(由于html5草案中相对较新的更改,在某些边缘情况下存在各种怪癖)。
不幸的是,任何基于标准的方法都被IE故意无视其自身生态系统之外发生的事情所破坏,但是有很多库试图将canvas / svg转换为VML(IE的专有矢量语言),例如{ {3}}
[编辑:哎呀,我忘了我最喜欢的js图书馆 - iecanvas!它可以在画布中解析和显示svg,并且相信也支持IE]
[又一个编辑:Cake实际上有一个Cake在做我认为你想做的事情]
答案 1 :(得分:6)
答案 2 :(得分:2)
你能用Silverlight澄清“Windows锁定”的含义吗?它运行在Windows和MacIntel上,并且矢量部分在Linux上使用Moonlight插件运行得很好。
你是因为缺乏Amiga支持而被抛弃了吗?
答案 3 :(得分:1)
查看已在许多浏览器中实现的新Canvas元素。我还听说IE的ActiveX控件也实现了Canvas元素。
更新:等等,你已经说过了。我下次应该读完整个问题! :)
答案 4 :(得分:1)
Walter Zorn对任意矢量图形有JavaScript library。它看起来不错。
答案 5 :(得分:0)
答案 6 :(得分:0)
IE支持VML,但没有别的,而且很难看。微软声称他们放弃了它(使用新的XAML和所有)但它仍然是他们的Office XML格式的一部分(这就是Excel .xlsx支持评论的方式,非常奇怪)。
FX并加载更多支持新的Canvas元素。许多人支持SVG,但考虑到MS在Silverlight上所做的工作,我很快就看不到IE支持SVG了。
微软应该为没有MS操作系统提供Silverlight插件。
我一直在使用Flex - 尽管使用了Eclipse,它还是相当不错的。您不需要购买昂贵的Adobe服务器组件来使用Flex - 它可以使用SOAP服务。
Flex的开发工具非常实惠,几乎每个人都有Flash。
答案 7 :(得分:0)
我认为SVG不是未来的好选择。来自Wikipedia:
答案 8 :(得分:0)
在你列出的所有可能性中,唯一一个不是滥用现有技术(Javascript),几乎不支持(SVG,Canvas元素)或大量工作(Java)的可能性就是Flash。它被设计为矢量图形包,并且与SVG和canvas标签之类的浏览器兼容。
我不会选择Flash而不是所有其他选项的唯一原因是,如果您的目标是移动浏览器,或者没有Flash套餐的预算。